From b2d0ac2db80c08783fd848933230618cc30d76a2 Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@smartai.com> Date: 星期三, 30 八月 2023 11:38:24 +0800 Subject: [PATCH] 添加锦汇企业编码. 修复点位列表平铺的bug --- src/views/personalCenter/components/SubAccount.vue | 709 +++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 426 insertions(+), 283 deletions(-) diff --git a/src/views/personalCenter/components/SubAccount.vue b/src/views/personalCenter/components/SubAccount.vue index 74eb946..d09cca9 100644 --- a/src/views/personalCenter/components/SubAccount.vue +++ b/src/views/personalCenter/components/SubAccount.vue @@ -1,22 +1,17 @@ <template> <div class="sub-account" v-if="!isShowAdd && !isShowRelate"> - <div class="head-name">瀛愯处鎴风鐞�</div> + <div class="head-name" v-show="showHeadName">瀛愯处鍙风鐞�</div> <div class="search"> <div class="left"> <div class="id"> - 濮撳悕/鎵嬫満鍙� - <el-input v-model="inputText" placeholder="璇疯緭鍏�"></el-input> + 鐢ㄦ埛鍚�/濮撳悕/鎵嬫満鍙� + <el-input v-model="inputText" placeholder="璇疯緭鍏�" clearable></el-input> </div> - <div class="cluster"> + <div class="cluster" v-show="false"> 鎺堟潈鏃堕暱 - <el-select v-model="timeLength" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in durationArr" - :key="item.value" - :label="item.label" - :value="item.value" - > + <el-select @change="findUserList" v-model="timeLength" placeholder="璇烽�夋嫨"> + <el-option v-for="item in durationArr" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> </div> @@ -29,62 +24,59 @@ </div> <div class="btns"> - <div class="button add" @click="isShowAdd = true"> + <div class="button add" @click="addSubCount"> <span class="iconfont"></span> <span>娣诲姞瀛愯处鍙�</span> </div> - <div class="button export" @click="isShowRelate = true"> + <!-- <div class="button export" @click="isShowRelate = true"> <span class="iconfont"></span> <span>鍏宠仈瀛愯处鍙�</span> - </div> + </div> --> </div> <div class="table-area"> <el-table id="multipleTable" ref="multipleTable" - tooltip-effect="dark" :data="dataList" :fit="true" :default-sort="{ prop: 'createTime', order: 'descending' }" - :stripe="true" + v-loading="tbLoading" > <el-table-column label="搴忓彿" width="55" class-name="index"> - <template slot-scope="scope">{{ - scope.$index + 1 + (page - 1) * size - }}</template> + <template slot-scope="scope">{{ scope.$index + 1 + (page - 1) * size }}</template> </el-table-column> - <el-table-column - prop="trueName" - label="濮撳悕" - show-overflow-tooltip - ></el-table-column> - <el-table-column - prop="username" - label="鐢ㄦ埛鍚�" - show-overflow-tooltip - ></el-table-column> + <el-table-column prop="username" label="鐢ㄦ埛鍚�" show-overflow-tooltip></el-table-column> + <el-table-column prop="trueName" label="濮撳悕" show-overflow-tooltip></el-table-column> + <el-table-column prop="phoneNum" label="鎵嬫満鍙�" show-overflow-tooltip></el-table-column> <el-table-column prop="userType" label="鐢ㄦ埛绫诲瀷"> <template slot-scope="scope"> - <span>{{ scope.row.userType == 1 ? "涓汉" : "鍏徃" }}</span> + <span>{{ scope.row.userType == 1 ? "鏈湴" : "OA璐︽埛" }}</span> </template> </el-table-column> - <el-table-column prop="authDuration" label="鎺堟潈鏃堕暱"> - </el-table-column> - <el-table-column prop="dataNames" label="鏉冮檺"> </el-table-column> - <el-table-column label="鐘舵��"> + <!-- <el-table-column prop="authDuration" label="鎺堟潈鏃堕暱"> + <template slot-scope="scope"> + <span>{{ scope.row.authDuration + " 骞�" }} </span> + </template> + </el-table-column> --> + + <!-- <el-table-column prop="authDuration" label="鎺堟潈鏃堕暱"> + </el-table-column> --> + <!-- <el-table-column prop="dataNames" label="鍏徃"> </el-table-column> --> + <el-table-column prop="companyName" label="閮ㄩ棬" show-overflow-tooltip min-width="200px"></el-table-column> + + <!-- <el-table-column label="鐘舵��"> <template slot-scope="scope"> <div v-if="scope.row.isBind == 1" class="status green">宸茬粦瀹�</div> <div v-else class="status">鏈粦瀹�</div> </template> - </el-table-column> + </el-table-column> --> - <el-table-column label="鎿嶄綔"> + <el-table-column label="鎿嶄綔" align="center" width="100px"> <template slot-scope="scope"> - <span class="iconfont option" @click="editUser(scope.row)" - >缂栬緫</span - > + <span class="iconfont option" @click="editUser(scope.row)">缂栬緫</span> + <span class="iconfont option" style="color:red" @click="delUser(scope.row)">鍒犻櫎</span> </template> </el-table-column> </el-table> @@ -103,10 +95,11 @@ </div> </div> <div class="sub-account" v-else-if="isShowAdd"> - <div class="add-title" @click="isShowAdd = false"> + <!-- <div class="add-title" @click="isShowAdd = false"> <span class="iconfont"></span> - <span>娣诲姞瀛愯处鎴�</span> - </div> + <span>瀛愯处鎴风鐞�</span> + </div> --> + <div class="head-name" style="margin-bottom:20px">瀛愯处鎴风紪杈�</div> <el-form :model="ruleForm" :rules="rules" @@ -118,62 +111,49 @@ <el-form-item label="鐢ㄦ埛鍚�" prop="username"> <el-input v-model="ruleForm.username" style="width: 350px"></el-input> </el-form-item> - <el-form-item label="瀵嗙爜" prop="password"> + <el-form-item label="瀵嗙爜" prop="password" v-show="!isEditing"> <el-input v-model="ruleForm.password" style="width: 350px"></el-input> </el-form-item> - <el-form-item label="閲嶇疆瀵嗙爜" prop="isChangePwd"> + <!-- <el-form-item label="閲嶇疆瀵嗙爜"> <el-checkbox v-model="ruleForm.isChangePwd" >棣栨鐧婚檰淇敼瀵嗙爜</el-checkbox > - </el-form-item> + </el-form-item> --> <el-form-item label="鐢ㄦ埛绫诲瀷" prop="userType"> - <el-radio v-model="ruleForm.userType" :label="1">涓汉</el-radio> - <el-radio v-model="ruleForm.userType" :label="2">鍏徃</el-radio> + <el-radio v-model="ruleForm.userType" :label="1">鏈湴</el-radio> + <el-radio v-model="ruleForm.userType" :label="2">OA璐︽埛</el-radio> </el-form-item> + <el-form-item label="濮撳悕" prop="trueName"> <el-input v-model="ruleForm.trueName" style="width: 350px"></el-input> </el-form-item> - <el-form-item label="閭" prop="email"> - <el-input v-model="ruleForm.email" style="width: 350px"></el-input> + + <el-form-item label="鎵嬫満鍙�"> + <el-input v-model="ruleForm.phoneNum" style="width: 350px"></el-input> </el-form-item> - <el-form-item label="琛屼笟" prop="industryId"> - <el-select - v-model="ruleForm.industryId" - placeholder="璇烽�夋嫨琛屼笟" - style="width: 350px" - > - <el-option - v-for="(item, index) in industrys" - :label="item.name" - :value="item.id" - :key="index" - ></el-option> + <el-form-item label="閮ㄩ棬"> + <el-input v-model="ruleForm.companyName" style="width: 350px"></el-input> + </el-form-item> + + <!-- <el-form-item label="琛屼笟"> + <el-select v-model="ruleForm.industryId" placeholder="璇烽�夋嫨琛屼笟" style="width: 350px"> + <el-option v-for="(item, index) in industrys" :label="item.name" :value="item.id" :key="index"></el-option> </el-select> </el-form-item> - <el-form-item label="鍦板尯" prop="address"> - <el-cascader - v-model="ruleForm.address" - :props="options" - style="width: 350px" - @change="handleChange" - ></el-cascader> - </el-form-item> - <el-form-item label="鎺堟潈鏃堕暱" prop="authDuration"> - <el-select - v-model="ruleForm.authDuration" - style="width: 350px" - placeholder="璇烽�夋嫨鎺堟潈鏃堕暱" - > + <el-form-item label="鍦板尯"> + <el-cascader v-model="ruleForm.address" :props="options" style="width: 350px"></el-cascader> + </el-form-item> --> + + <!-- <el-form-item label="鎺堟潈鏃堕暱"> + <el-select v-model="ruleForm.authDuration" style="width: 350px" placeholder="璇烽�夋嫨鎺堟潈鏃堕暱"> <el-option label="涓�骞�" :value="1"></el-option> <el-option label="涓ゅ勾" :value="2"></el-option> <el-option label="涓夊勾" :value="3"></el-option> </el-select> - </el-form-item> + </el-form-item> --> <el-form-item label="鐢ㄦ埛鏉冮檺" prop="menuIds" class="user-tree"> - <!-- <TreeBox :defaultProp="defaultProp" :treeData="sysMenus"></TreeBox> --> - <!-- <TreeBox :defaultProp="defaultProp2" :treeData="data2"></TreeBox> --> <div class="tree-box"> <div class="t">鑿滃崟鏉冮檺</div> <el-tree @@ -199,14 +179,51 @@ :props="defaultProp" :default-checked-keys="checkedData" check-on-click-node + @check-change="selectDevice" > </el-tree> </div> + <div class="tree-box"> + <div class="t">鎽勫儚鏈烘潈闄�</div> + <tree-menu + ref="ztreeMenus" + app="Camera" + treeName="localTree" + :node="TreeDataPool.treeData" + :height="treeHeight" + :setting="treeSettings" + style="width:330px;max-height:440px" + /> + </div> + </el-form-item> + <el-form-item label="鐭俊鎺ㄩ��" v-show="isEditing"> + <el-select v-model="smsSceneConfig" multiple collapse-tags style="width: 250px" placeholder="璇烽�夋嫨"> + <el-option + v-for="item in taskOptions" + style="font-size: 12px" + :key="item.value" + :value="item.value" + :label="item.value" + :title="item.value" + ></el-option> + </el-select> + <el-select + v-model="smsLevelConfig" + multiple + collapse-tags + style="margin-left:10px;width: 150px" + placeholder="璇烽�夋嫨" + > + <el-option v-for="item in levelOptions" :key="item.value" :label="item.label" :value="item.value"> + </el-option> + </el-select> + <el-checkbox v-model="smsEnable" style="margin-left:20px">鍚敤</el-checkbox> </el-form-item> </el-form> <div class="right"> - <div class="button searchBtn" @click="saveSubUser">淇濆瓨</div> + <div class="button searchBtn" @click="saveUser">淇濆瓨</div> <div class="button resetBtn" @click="resetUser">閲嶇疆</div> + <div class="button resetBtn" style="margin-left:20px" @click="goback">杩斿洖</div> </div> </div> <div class="sub-account" v-else-if="isShowRelate"> @@ -214,59 +231,83 @@ <span class="iconfont"></span> <span>鍏宠仈瀛愯处鎴�</span> </div> - <Steps - :titleList="['鍏宠仈瀛愯处鍙蜂俊鎭�', '鏉冮檺璁剧疆', '瀹屾垚']" - :activeIndex="activeIndex" - ></Steps> + <Steps :titleList="['鍏宠仈瀛愯处鍙蜂俊鎭�', '鏉冮檺璁剧疆', '瀹屾垚']" :activeIndex="activeIndex"></Steps> <StepsCard @goback="goback" @goto="goto"></StepsCard> </div> </template> <script> -import { findUserList, saveSubUser, getMenu, getDataTree } from "@/api/user"; -import { getAreas, getDic } from "@/api/login"; +import { findUserList, saveSubUser, getMenu, getDataTree, deleteUser } from "@/api/user" +import { findTaskById, updateTask } from "@/api/report" +import { getAreas, getDic } from "@/api/login" -import Steps from "./Steps"; -import StepsCard from "./StepCard"; +import Steps from "./Steps" +import StepsCard from "./StepCard" +import TreeMenu from "@/components/giantTree/index" + export default { components: { Steps, StepsCard, + TreeMenu + }, + computed: { + showHeadName() { + return this.$route.path === "/personalCenter" + } }, data() { + const validateTree = (rule, value, callback) => { + if ( + this.ruleForm.menuIds && + this.ruleForm.dataIds && + this.ruleForm.menuIds.length > 0 && + this.ruleForm.dataIds.length > 0 + ) { + callback() + } else { + callback(new Error("璇烽�夎彍鍗曟潈闄愬拰鏁版嵁鏉冮檺")) + } + } return { - searchTime: [ - this.$moment().format("YYYY-MM-DD 00:00:00"), - this.$moment().format("YYYY-MM-DD HH:mm:ss"), - ], //鎼滅储鏃堕棿 + tbLoading: false, + searchTime: [this.$moment().format("YYYY-MM-DD 00:00:00"), this.$moment().format("YYYY-MM-DD HH:mm:ss")], //鎼滅储鏃堕棿 page: 1, size: 10, //鍒嗛〉鐩稿叧 + total: 0, //鎬绘暟, inputText: "", //杈撳叆妗嗗唴瀹� activeStep: 0, activeIndex: 0, industrys: [], - total: 0, //鎬绘暟 + treeHeight: 750, + treeData: [], + treeSettings: { + check: { + enable: true + } + }, + taskOptions: [], options: { lazy: true, lazyLoad(node, resolve) { // 鎳掑姞杞借妭鐐圭渷甯傛暟鎹� - const { level } = node; - let nodes; + const { level } = node + let nodes getAreas({ parentId: level == 0 ? 0 : node.value }) .then((json) => { - nodes = json.data.list; + nodes = json.data.list nodes = nodes.map((item) => ({ value: item.id, label: item.name, level: item.level, - leaf: level >= 1, - })); - resolve(nodes); + leaf: level >= 1 + })) + resolve(nodes) }) .catch((err) => { - console.log(err); - }); - }, + console.log(err) + }) + } }, dataList: [], isShowAdd: false, //鏄惁灞曠ず鏂板寮圭獥 @@ -277,16 +318,16 @@ durationArr: [ { value: 1, - label: "涓�骞�", + label: "1骞�" }, { value: 2, - label: "涓ゅ勾", + label: "2骞�" }, { value: 3, - label: "涓夊勾", - }, + label: "3骞�" + } ], //鎵�灞為泦缇や笅鎷夋 timeLength: null, //閫変腑鐨勬巿鏉冩椂闀� showQuit: false, //灞曠ず閫�鍑洪泦缇ょ殑寮圭獥 @@ -300,77 +341,157 @@ userType: "", password: "", trueName: "", - email: "", + companyName: "", + phoneNum: "", + email: "basic", isChangePwd: false, industryId: "", address: [], - authDuration: "", + authDuration: 3, areaId: "", provinceId: "", menuIds: [], - dataIds: [], + dataIds: [] }, rules: { - name: [ - { required: true, message: "璇疯緭鍏ユ椿鍔ㄥ悕绉�", trigger: "blur" }, - { min: 3, max: 5, message: "闀垮害鍦� 3 鍒� 5 涓瓧绗�", trigger: "blur" }, - ], - region: [ - { required: true, message: "璇烽�夋嫨娲诲姩鍖哄煙", trigger: "change" }, - ], - resource: [ - { required: true, message: "璇烽�夋嫨娲诲姩璧勬簮", trigger: "change" }, - ], - desc: [{ required: true, message: "璇峰~鍐欐椿鍔ㄥ舰寮�", trigger: "blur" }], + username: [{ required: true, message: "璇疯緭鍏ョ敤鎴峰悕", trigger: "blur" }], + // password: [{ required: true, message: "璇疯緭鍏ュ瘑鐮�", trigger: "blur" }], + userType: [{ required: true, message: "璇烽�夋嫨鐢ㄦ埛绫诲瀷", trigger: "blur" }], + trueName: [{ required: true, message: "璇疯緭鍏ュ鍚�", trigger: "blur" }] + // menuIds: [{ validator: validateTree, trigger: "blur" }] }, sysMenus: [], DataTree: [], + smsSceneConfig: [], + smsLevelConfig: [], + smsEnable: false, userInfo: {}, curEditId: "", defaultProp: { children: "children", - label: "name", + label: "name" }, - }; + levelOptions: [ + { value: "涓�绾�", label: "涓�绾�" }, + { value: "浜岀骇", label: "浜岀骇" }, + { value: "涓夌骇", label: "涓夌骇" }, + { value: "鍥涚骇", label: "鍥涚骇" }, + { value: "浜旂骇", label: "浜旂骇" } + ] + } }, created() { - this.userInfo = JSON.parse(sessionStorage.getItem("userInfo")); - this.findUserList(); - this.getIndustrys(); - this.fetchSysMenus(); - this.fetchDataTree(); + this.userInfo = JSON.parse(sessionStorage.getItem("userInfo")) + this.findUserList() + this.getIndustrys() + this.fetchSysMenus() + this.fetchDataTree() + }, + mounted() { + this.taskOptions = this.Constants.sceneNameOptions + this.TreeDataPool.reset() + this.TreeDataPool.multiple = true + this.VideoPhotoData.queryTaskList() }, methods: { fetchDataTree() { getDataTree({ userId: this.userInfo.id }).then((res) => { - this.DataTree = res.data.dataTree; - }); + this.DataTree = res.data.dataTree + }) }, fetchSysMenus() { getMenu().then((rsp) => { if (rsp && rsp.success) { - this.sysMenus = rsp.data.menus; + this.sysMenus = rsp.data.menus // this.userMenus = []; } - }); + }) }, - editUser(row) { - this.isShowAdd = true; - this.isEditing = true; - this.ruleForm.id = row.id; - this.ruleForm.username = row.username; - this.ruleForm.userType = row.userType; - this.ruleForm.password = row.password; - this.ruleForm.trueName = row.trueName; - this.ruleForm.email = row.email; - this.ruleForm.isChangePwd = row.isChangePwd; - this.ruleForm.industryId = row.industryId; - this.ruleForm.areaId = row.areaId; - this.ruleForm.address = [row.provinceId, row.areaId]; - this.ruleForm.provinceId = row.provinceId; - this.ruleForm.authDuration = row.authDuration; - this.checkedMenu = row.menuIds; - this.checkedData = row.dataIds; + selectDevice(node, checked, hasChildren) { + if (checked) { + sessionStorage.setItem("clusterId", node.id) + this.TreeDataPool.fetchTreeData() + this.treeData = this.TreeDataPool.treeData + } else { + this.treeData = [] + this.TreeDataPool.reset() + } + }, + addSubCount() { + this.isShowAdd = true + this.resetUser() + }, + async editUser(row) { + this.isShowAdd = true + this.isEditing = true + this.ruleForm.id = row.id + this.ruleForm.username = row.username + this.ruleForm.userType = row.userType + this.ruleForm.password = row.password + this.ruleForm.trueName = row.trueName + this.ruleForm.companyName = row.companyName + this.ruleForm.phoneNum = row.phoneNum + this.ruleForm.email = row.email + this.ruleForm.isChangePwd = false + this.ruleForm.industryId = row.industryId + this.ruleForm.areaId = row.areaId + this.ruleForm.address = [row.provinceId, row.areaId] + this.ruleForm.provinceId = row.provinceId + this.ruleForm.authDuration = row.authDuration + this.checkedMenu = row.menuIds + this.checkedData = row.dataIds + + this.smsSceneConfig = [] + this.smsLevelConfig = [] + this.smsEnable = false + findTaskById({ id: row.id }).then((rsp) => { + if (rsp && rsp.success && rsp.data != "") { + if (rsp.data.taskName != "") { + this.smsSceneConfig = rsp.data.taskName.split(",") + } + if (rsp.data.level != "") { + this.smsLevelConfig = rsp.data.level.split(",") + } + this.smsEnable = rsp.data.enable + } + }) + + // 鏌ヨ褰撳墠鐢ㄦ埛鏉冮檺涓嬫墍鏈夊彲绠$悊鐨勬憚鍍忔満 + if (row.dataIds) { + sessionStorage.setItem("clusterId", row.dataIds[0]) + await this.TreeDataPool.fetchTreeData() + } + + // 鐢╡mail瀛楁鏆傛椂浠f浛鎽勫儚鏈洪泦鍚堝瓧娈� + let checkedCameras = row.email + + // basic 涓哄瓙璐︽埛榛樿鐨勭┖瀛楁,琛ㄧず鍙鐞嗙殑鎽勫儚鏈虹洰褰曚负绌� + if (checkedCameras == "basic") { + return + } + + // 鍙嶉�夋憚鍍忔満 + if (checkedCameras.length) { + let cameraIds = checkedCameras.split(",") + this.$refs.ztreeMenus.updateNodes(cameraIds) + } + }, + delUser(row) { + this.$confirm("纭瑕佸垹闄よ鐢ㄦ埛鍚�, 鏄惁缁х画?", "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning" + }).then(async () => { + let rsp = await deleteUser({ id: row.id }) + if (rsp && rsp.success) { + this.$message({ + type: "success", + message: "鍒犻櫎鎴愬姛!" + }) + } + + this.findUserList() + }) }, resetUser() { this.ruleForm = { @@ -379,168 +500,177 @@ userType: "", password: "", trueName: "", + companyName: "", + phoneNum: "", email: "", isChangePwd: false, + address: [], industryId: "", areaId: "", provinceId: "", - authDuration: "", - }; - this.$refs.treeMenus.setCheckedKeys([]); - this.$refs.treeData.setCheckedKeys([]); + authDuration: 1 + } + this.smsSceneConfig = [] + this.smsLevelConfig = [] + this.smsEnable = false + this.$nextTick(() => { + this.$refs.treeMenus.setCheckedKeys([]) + this.$refs.treeData.setCheckedKeys([]) + }) }, async getIndustrys() { - let res = await getDic(); + let res = await getDic() if (res.success) { - this.industrys = res.data.dics; + this.industrys = res.data.dics } else { - console.log("鏌ヨ琛屼笟鍒楄〃澶辫触锛�"); + console.log("鏌ヨ琛屼笟鍒楄〃澶辫触锛�") } }, - saveSubUser() { - this.ruleForm.menuIds = this.$refs.treeMenus.getCheckedKeys(); - this.ruleForm.dataIds = this.$refs.treeData.getCheckedKeys(); - let json = { - id: this.isEditing ? this.ruleForm.id : "", - username: this.ruleForm.username, - password: this.ruleForm.password, - isChangePwd: this.ruleForm.isChangePwd, - userType: this.ruleForm.userType, - trueName: this.ruleForm.trueName, - email: this.ruleForm.email, - industryId: this.ruleForm.industryId, - areaId: this.ruleForm.address[1], - authDuration: this.ruleForm.authDuration, - menuIds: this.ruleForm.menuIds, - dataIds: this.ruleForm.dataIds, - }; - saveSubUser(json).then((res) => { - if (res.success) { - this.isShowAdd = false; - this.isEditing = false; - this.findUserList(); + saveUser() { + let _this = this + this.ruleForm.menuIds = this.$refs.treeMenus.getCheckedKeys() + this.ruleForm.dataIds = this.$refs.treeData.getCheckedKeys() + this.$refs["ruleForm"].validate((valid) => { + if (valid) { + let json = { + id: this.isEditing ? this.ruleForm.id : "", + username: this.ruleForm.username, + password: this.ruleForm.password, + isChangePwd: this.ruleForm.isChangePwd, + userType: this.ruleForm.userType, + trueName: this.ruleForm.trueName, + companyName: this.ruleForm.companyName, + phoneNum: this.ruleForm.phoneNum, + industryId: this.ruleForm.industryId, + areaId: this.ruleForm.address.length == 2 ? this.ruleForm.address[1] : "", + authDuration: this.ruleForm.authDuration, + menuIds: this.ruleForm.menuIds, + dataIds: this.ruleForm.dataIds + } + + // 鑾峰彇瀛愯处鎴烽�変腑鐨勬憚鍍忔満鍒楄〃 + let cameraIds = this.TreeDataPool.selectedNodes + if (cameraIds.length == 0) { + json.email = "basic" + } else { + json.email = cameraIds.join(",") + } + + // 缂栬緫涓嶆彁浜ゅ瘑鐮� + if (this.isEditing) { + delete json.password + json.isChangePwd = false + } + + if (typeof json.areaId === "string") { + delete json.areaId + } + + if (typeof json.authDuration === "string") { + delete json.authDuration + } + + // return + saveSubUser(json) + .then((res) => { + if (res.success) { + // 淇濆瓨娑堟伅鎺ㄩ�� + if (_this.isEditing) { + let smsTaskInfo = { + id: _this.ruleForm.id, + taskName: _this.smsSceneConfig.join(","), + level: _this.smsLevelConfig.join(","), + cameras: json.email, + person: json.trueName, + tel: json.phoneNum, + enable: _this.smsEnable, + IsDel: "0" + } + + updateTask(smsTaskInfo).then((rsp) => { + // console.log(rsp) + }) + } + + _this.$notify.success(res.data) + _this.isShowAdd = false + _this.isEditing = false + _this.findUserList() + } else { + _this.$notify.error(res.msg) + } + }) + .catch((err) => { + _this.$notify.error(err.data.msg) + }) + } else { + return false } - }); + }) }, findUserList() { + this.tbLoading = true + if (this.inputText.length) { + this.inputText = this.inputText.trim() + } + findUserList({ inputText: this.inputText, page: this.page, size: this.size, - }).then((res) => { - if (res.success) { - this.dataList = res.data.dataList; - this.total = res.data.total - }else{ - this.$notify.error("鍔犺浇瀛愯处鎴峰垪琛ㄥけ璐�") - } - }).catch((e) => { + authDuration: this.timeLength + }) + .then((res) => { + if (res.success) { + this.dataList = res.data.dataList + this.total = res.data.total + } else { + this.$notify.error("鍔犺浇瀛愯处鎴峰垪琛ㄥけ璐�") + } + + this.tbLoading = false + }) + .catch((e) => { this.$notify.error(e.msg) - }); + this.tbLoading = false + }) }, goback() { - this.isShowAdd = false; - this.isEditing = false; - this.isShowRelate = false; - this.activeIndex = 0; + this.isShowAdd = false + this.isEditing = false + this.isShowRelate = false + this.activeIndex = 0 }, goto(i) { - this.activeIndex = i; + this.activeIndex = i }, reset() { - this.inputText = ""; - this.timeLength = null; - }, - // 璺冲埌璁惧璇︽儏 - checkDetail(row) { - this.$router.push({ - path: "/equipmentDetail", - query: { - id: row.devId, - ip: row.devIp, - port: row.serverPort, - ndid: row.id, - }, - }); + this.inputText = "" + this.timeLength = null }, - // 璺冲埌绠楁硶璇︽儏 - algorithmDetail(row) { - this.$router.push({ - path: "/algorithmDetail", - query: { - id: row.devId, - ip: row.devIp, - port: row.serverPort, - }, - }); - }, - - // 鏌ヨ鍒楄〃 - - save() {}, //鍒嗛〉鍔熻兘 handleSizeChange(size) { - this.size = size; + this.size = size + this.findUserList() }, //鍒嗛〉鍔熻兘 refrash(page) { - this.page = page; + this.page = page + this.findUserList() }, - //瑙g粦鎸夐挳 - Untying(row) { - console.log(row); - this.unbindId = row.id; - this.isShowUnbind = true; - }, - - //鑾峰緱榛樿鏃堕棿 - getDateInit() { - // 瑕佹眰 榛樿涓�涓湀 - const end = new Date(); - const start = new Date(); - const nowDate = new Date(); - nowDate.setHours(0); - nowDate.setMinutes(0); - nowDate.setSeconds(0); - nowDate.setMilliseconds(0); - start.setTime(nowDate.getTime() - 3600 * 1000 * 24 * 30); - end.setTime(nowDate.getTime() + 3600 * 1000 * 24 - 1); - return [ - this.$moment(start).format("YYYY-MM-DD HH:mm:ss"), - this.$moment(end).format("YYYY-MM-DD HH:mm:ss"), - ]; - }, - - // 鍏抽棴瑙g粦寮圭獥 - closeUnbindBox() { - this.isShowUnbind = false; - }, - - //瑙g粦鎴愬姛鍥炶皟 - reflash() { - this.isShowUnbind = false; - }, - - clearSearch() { - this.searchTime = this.getDateInit(); - this.inputText = ""; - }, - - //閫�鍑洪泦缇� - quitCluster(equipment) { - this.activeEquipment = equipment; - this.showQuit = true; - }, - - //鍔犲叆闆嗙兢 - joinCluster(equipment) { - this.activeEquipment = equipment; - this.showJoin = true; - }, - }, -}; + // 鐢熸垚uuid + getUuid() { + let originStr = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + let originChar = "0123456789abcdef" + let len = originChar.length + return originStr.replace(/x/g, function(match) { + return originChar.charAt(Math.floor(Math.random() * len)) + }) + } + } +} </script> <style scoped lang="scss"> @@ -577,6 +707,11 @@ border-color: #c0c5cc; } .user-tree { + .el-form-item__label:before { + content: "*"; + color: #f52323; + margin-right: 4px; + } .el-form-item__content { display: flex; .tree-box { @@ -598,9 +733,10 @@ } } .searchBtn { - width: 60px; - height: 32px; - line-height: 32px; + width: 50px; + height: 25px; + line-height: 25px; + font-size: 14px; text-align: center; color: #fff; background: #0065ff; @@ -610,9 +746,10 @@ display: flex; } .resetBtn { - width: 60px; - height: 32px; - line-height: 32px; + width: 50px; + height: 25px; + line-height: 25px; + font-size: 14px; text-align: center; color: #0065ff; box-sizing: border-box; @@ -821,10 +958,16 @@ } } } + + .el-select ::v-deep { + .el-select__tags-text { + color: #3d3d3d; + } + } } </style> -<style > +<style> .el-date-table td.start-date span, .el-date-table td.end-date span { background-color: #0065ff; @@ -839,4 +982,4 @@ color: #0065ff; border-color: #0065ff; } -</style> \ No newline at end of file +</style> -- Gitblit v1.8.0