From 245912b3b595400ecdd5965ce5e466d190f06ae4 Mon Sep 17 00:00:00 2001 From: yangfeng <wanwan926_4@163.com> Date: 星期三, 12 七月 2023 19:08:41 +0800 Subject: [PATCH] 新增后台配置模块 --- src/views/sales/generatePlan/AddGeneratePlanDialog.vue | 25 - vue.config.js | 8 src/views/service/serviceFollowup/AddServiceFollowupDialog.vue | 20 - src/components/makepager/SearchCommonView.vue | 2 src/views/sales/salesDetails/AddSalesDetailsDialog.vue | 25 - src/components/makepager/TableCommonView.vue | 22 src/views/other/commonDialog/HighViewScopeDialog.vue | 162 ++++++++ src/views/other/error/404.vue | 0 src/views/backgroundConfig/memberManage/index.vue | 197 ++++++++++ src/views/service/orderManage/AddOrderManageDialog.vue | 20 - src/views/backgroundConfig/index.vue | 21 + src/views/backgroundConfig/rolePermssion/index.vue | 120 ++++++ src/views/custom/followupRecords/AddFollowupRecordsDialog.vue | 20 - src/components/layout/components/appsidebar/index.vue | 10 src/views/service/serviceFeeManage/AddServiceFeeManageDialog.vue | 22 - src/views/service/serviceContract/AddServiceContractDialog.vue | 25 - src/components/makepager/PublicFunctionBtnView.vue | 53 ++ src/views/other/login/index.vue | 0 src/views/other/commonDialog/QueryClassSettingDialog.vue | 20 - src/views/sales/masterOrder/AddMasterOrderDialog.vue | 25 - src/views/sales/salesReturn/AddSalesReturnDialog.vue | 25 - src/views/custom/contacts/AddContactsDialog.vue | 20 - src/views/sales/refundForm/AddRefundFormDialog.vue | 25 - src/router/backgroundConfig/index.js | 27 + src/router/index.js | 14 src/views/custom/customManage/AddCustomManageDialog.vue | 20 - src/assets/style/reset-element.scss | 24 + src/views/sales/salesOpportunity/AddSalesOpportunityDialog.vue | 20 - src/assets/style/index.scss | 2 src/views/custom/salesLead/AddSalesLeadDialog.vue | 22 - src/assets/style/variable.scss | 23 + src/views/sales/quotation/AddQuotationDialog.vue | 25 - src/views/sales/subOrder/AddSubOrderDialog.vue | 25 - src/views/sales/contractManage/AddContractManageDialog.vue | 25 - 34 files changed, 673 insertions(+), 421 deletions(-) diff --git a/src/assets/style/index.scss b/src/assets/style/index.scss index 7ca885b..555ade6 100644 --- a/src/assets/style/index.scss +++ b/src/assets/style/index.scss @@ -1 +1,3 @@ @import "element-ui/lib/theme-chalk/index.css"; +@import "./variable.scss"; +@import "./reset-element.scss"; diff --git a/src/assets/style/reset-element.scss b/src/assets/style/reset-element.scss new file mode 100644 index 0000000..fc66289 --- /dev/null +++ b/src/assets/style/reset-element.scss @@ -0,0 +1,24 @@ +// element 鏍峰紡琛ヤ竵 +.el-dialog__header { + padding: 12.5px 10px; + border-bottom: 1px solid #e5e5e5; + .el-dialog__title { + font-size: 15px; + color: #323232; + font-weight: bold; + } +} +.el-dialog__body { + padding: 0px; +} +.el-dialog__footer { + padding: 0px; + text-align: center; + box-sizing: border-box; + border-top: 1px solid #dadee5; +} +.product-view { + .el-form-item__label { + padding: 0; + } +} diff --git a/src/assets/style/variable.scss b/src/assets/style/variable.scss new file mode 100644 index 0000000..3f1ad83 --- /dev/null +++ b/src/assets/style/variable.scss @@ -0,0 +1,23 @@ +// 涓昏壊 +$color-primary: #2a78fb; + +// 杈呭姪鑹� +$color-info: #909399; +$color-success: #67c23a; +$color-warning: #e6a23c; +$color-danger: #f56c6c; + +// 鏂囧瓧 +$color-text-main: #303133; +$color-text-normal: #606266; +$color-text-sub: #909399; +$color-text-placehoder: #c0c4cc; + +// 杈规 +$color-border-1: #dcdfe6; +$color-border-2: #e4e7ed; +$color-border-3: #ebeef5; +$color-border-4: #f2f6fc; + +// 鑳屾櫙 +$color-bg: #f8f8f9; diff --git a/src/components/layout/components/appsidebar/index.vue b/src/components/layout/components/appsidebar/index.vue index d2d5ea1..74fa2a2 100644 --- a/src/components/layout/components/appsidebar/index.vue +++ b/src/components/layout/components/appsidebar/index.vue @@ -48,6 +48,14 @@ <el-menu-item index="/service/serviceFollowup">鏈嶅姟鍥炶鍗�</el-menu-item> <el-menu-item index="/service/serviceFeeManage">鏈嶅姟鏀惰垂绠$悊</el-menu-item> </el-submenu> + <el-submenu index="4"> + <template slot="title"> + <i class="el-icon-location"></i> + <span>鍚庡彴閰嶇疆</span> + </template> + <el-menu-item index="/backgroundConfig/memberManage">鎴愬憳绠$悊</el-menu-item> + <el-menu-item index="/backgroundConfig/rolePermssion">瑙掕壊鏉冮檺</el-menu-item> + </el-submenu> </el-menu> </div> </div> @@ -75,7 +83,7 @@ // console.log(this.$route.name) }, handleOpen(index) { - console.log("aaa", index) + console.log(index) }, handleClose() {} } diff --git a/src/components/makepager/PublicFunctionBtnView.vue b/src/components/makepager/PublicFunctionBtnView.vue index 5531e6e..b4a9f0b 100644 --- a/src/components/makepager/PublicFunctionBtnView.vue +++ b/src/components/makepager/PublicFunctionBtnView.vue @@ -3,8 +3,8 @@ <div class="btn-list"> <el-button size="small" type="text" class="blue" @click="addBtnClick">鏂板缓</el-button> <el-button v-if="receive" size="small" type="text" class="gray" @click="receiveBtnClick">棰嗗彇</el-button> - <el-button size="small" type="text" class="gray" @click="allocationBtnClick">鍒嗛厤</el-button> - <el-button size="small" type="text" class="gray" @click="deleteBtnClick">鍒犻櫎</el-button> + <el-button v-if="allocation" size="small" type="text" class="gray" @click="allocationBtnClick">鍒嗛厤</el-button> + <el-button v-if="deleteButton" size="small" type="text" class="gray" @click="deleteBtnClick">鍒犻櫎</el-button> <el-button v-if="submitApproval" size="small" type="text" class="gray width64" @click="submitApprovalBtnClick" >鎻愪氦瀹℃壒</el-button > @@ -12,6 +12,13 @@ >鏌ラ噸</el-button > <el-button v-if="importButton" size="small" type="text" class="gray" @click="importBtnClick">瀵煎叆</el-button> + <el-button v-if="departmentSet" size="small" type="text" class="gray" @click="departmentSetClick" + >閮ㄩ棬璁剧疆</el-button + > + <el-button v-if="dataRange" size="small" type="text" class="gray" @click="dataRangeClick">鏁版嵁鑼冨洿</el-button> + <el-button v-if="loginControl" size="small" type="text" class="gray" @click="loginControlClick" + >鐧诲綍鎺у埗</el-button + > <el-dropdown trigger="click"> <div class="gray btn-icon" @click="operateBtnClick"> @@ -32,7 +39,7 @@ <el-option v-for="item in viewScopeOptions" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> - <div class="view-scope-btn"> + <div class="view-scope-btn" @click="viewScopeClick"> <i class="el-icon-user"></i> </div> </div> @@ -53,16 +60,28 @@ <i class="el-icon-postcard"></i> </div> </div> + <!-- 楂樼骇鏌ョ湅鑼冨洿 --> + <HighViewScopeDialog v-if="highViewScopeConfig.visible" :editCommonConfig="highViewScopeConfig" /> </div> </template> <script> +import HighViewScopeDialog from "@/views/other/commonDialog/HighViewScopeDialog" export default { name: "PublicFunctionBtnView", + components: { HighViewScopeDialog }, props: { receive: { type: Boolean, default: false + }, + allocation: { + type: Boolean, + default: true + }, + deleteButton: { + type: Boolean, + default: true }, duplicateCheck: { type: Boolean, @@ -79,6 +98,18 @@ importButton: { type: Boolean, default: true + }, + departmentSet: { + type: Boolean, + default: false + }, + dataRange: { + type: Boolean, + default: false + }, + loginControl: { + type: Boolean, + default: false }, mapButton: { type: Boolean, @@ -107,7 +138,11 @@ { value: "5", label: "鍏变韩缁欐垜鐨�" }, { value: "6", label: "鎴戝叡浜粰浠栦汉鐨�" } ], - viewScopeValue: "鍏ㄩ儴" + viewScopeValue: "鍏ㄩ儴", + highViewScopeConfig: { + visible: false, + infomation: {} + } } }, methods: { @@ -127,6 +162,16 @@ duplicateCheckBtnClick() {}, // 瀵煎叆 importBtnClick() {}, + // 閮ㄩ棬璁剧疆 + departmentSetClick() {}, + // 鏁版嵁鑼冨洿 + dataRangeClick() {}, + // 鐧诲綍鎺у埗 + loginControlClick() {}, + // 楂樼骇鏌ョ湅鑼冨洿 + viewScopeClick() { + this.highViewScopeConfig.visible = true + }, // 鎿嶄綔 operateBtnClick() {}, // 鍒楄〃 diff --git a/src/components/makepager/SearchCommonView.vue b/src/components/makepager/SearchCommonView.vue index 6eddf4f..c53477c 100644 --- a/src/components/makepager/SearchCommonView.vue +++ b/src/components/makepager/SearchCommonView.vue @@ -89,7 +89,7 @@ </template> <script> -import QueryClassSettingDialog from "@/views/other/QueryClassSettingDialog.vue" +import QueryClassSettingDialog from "@/views/other/commonDialog/QueryClassSettingDialog" export default { name: "SearchCommonView", diff --git a/src/components/makepager/TableCommonView.vue b/src/components/makepager/TableCommonView.vue index c799a17..5583db0 100644 --- a/src/components/makepager/TableCommonView.vue +++ b/src/components/makepager/TableCommonView.vue @@ -13,7 +13,8 @@ @selection-change="handleSelectionChange" :header-cell-style="{ background: '#ECF4FF', color: '#666' }" > - <el-table-column type="selection" width="40"> </el-table-column> + <el-table-column v-if="selectBox" type="selection" width="40"> </el-table-column> + <el-table-column v-for="(item, i) in tableList.tableColumn" :key="i" @@ -26,7 +27,7 @@ > <template slot-scope="scope"> <span v-if="item.price">{{ "锟�" + number_format(scope.row[item.prop], 2, ".", ",") }}</span> - <span v-else-if="item.status" :class="scope.row.status">{{ scope.row[item.prop] }}</span> + <div v-else-if="item.status" :class="scope.row.status">{{ scope.row[item.prop] }}</div> <span v-else>{{ scope.row[item.prop] }}</span> </template> </el-table-column> @@ -42,10 +43,16 @@ export default { name: "TableCommonView", props: { + selectBox: { + type: Boolean, + default: true + }, + tableList: { type: Object, default: () => { return { + selectBox: true, tableInfomation: [], // 鎺ュ彛杩斿洖鏁版嵁 tableColumn: [ // table琛ㄥ崟 @@ -104,19 +111,19 @@ sums[index] = "鏈〉鎬昏" } const values = data.map((item) => Number(item[column.property])) - // if (column.property === this.showSummary.sumProp) { if (this.showSummary.sumProp.includes(column.property)) { sums[index + 1] = values.reduce((prev, curr) => { const value = Number(curr) if (!isNaN(value)) { - return this.number_format(prev + curr, 2, ".", ",") + return prev + curr } else { - return this.number_format(prev, 2, ".", ",") + return prev } }, 0) sums[index + 1] } }) + console.log(sums) return sums } }, @@ -159,9 +166,10 @@ margin-right: 10px; margin-bottom: 40px; .blue { - padding: 10px; + width: 70px; + text-align: center; color: #fff; - background-color: blue; + background-color: $color-primary; border-radius: 4px; } } diff --git a/src/router/backgroundConfig/index.js b/src/router/backgroundConfig/index.js new file mode 100644 index 0000000..f25b109 --- /dev/null +++ b/src/router/backgroundConfig/index.js @@ -0,0 +1,27 @@ +// const type from '@/router/deployCode' + +const memberManage = (resolve) => require(["@/views/backgroundConfig/memberManage/index"], resolve) // 鎴愬憳绠$悊 +const rolePermssion = (resolve) => require(["@/views/backgroundConfig/rolePermssion/index"], resolve) // 瑙掕壊鏉冮檺 + +const appconfig = [ + { + path: "/backgroundConfig/memberManage", + name: "memberManage", + component: memberManage, + meta: { + title: "鎴愬憳绠$悊", + requireAuth: true + } + }, + { + path: "/backgroundConfig/rolePermssion", + name: "rolePermssion", + component: rolePermssion, + meta: { + title: "瑙掕壊鏉冮檺", + requireAuth: true + } + } +] + +export default appconfig diff --git a/src/router/index.js b/src/router/index.js index bf575a7..4b2d5df 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -5,12 +5,14 @@ import customRouter from "./custom/index.js" import salesRouter from "./sales/index.js" import serviceRouter from "./service/index.js" +import backgroundConfigRouter from "./backgroundConfig/index.js" Vue.use(Router) const login = (resolve) => require(["@/views/login/index"], resolve) const custom = (resolve) => require(["@/views/custom/index"], resolve) const sales = (resolve) => require(["@/views/sales/index"], resolve) const service = (resolve) => require(["@/views/service/index"], resolve) +const background = (resolve) => require(["@/views/backgroundConfig/index"], resolve) export const routes = [ { @@ -42,6 +44,16 @@ title: "鏈嶅姟绠$悊", isAllways: true } + }, + { + path: "background", // 鍚庡彴璁剧疆 + name: "background", + component: background, + children: backgroundConfigRouter, + meta: { + title: "鍚庡彴璁剧疆", + isAllways: true + } } ] export const constantRoutes = [ @@ -69,7 +81,7 @@ }, { path: "*", - component: () => import("@/views/error/404"), + component: () => import("@/views/other/error/404"), meta: { title: "404" } diff --git a/src/views/backgroundConfig/index.vue b/src/views/backgroundConfig/index.vue new file mode 100644 index 0000000..b2e8385 --- /dev/null +++ b/src/views/backgroundConfig/index.vue @@ -0,0 +1,21 @@ +<template> + <div class="content"> + <router-view /> + </div> +</template> + +<script> +export default { + name: "BackgroundConfig", + props: {} +} +</script> + +<!-- Add "scoped" attribute to limit CSS to this component only --> +<style lang="scss" scoped> +.content { + width: 100%; + background-color: #fff; + height: calc(100vh - 60px); +} +</style> diff --git a/src/views/backgroundConfig/memberManage/index.vue b/src/views/backgroundConfig/memberManage/index.vue new file mode 100644 index 0000000..676c6cf --- /dev/null +++ b/src/views/backgroundConfig/memberManage/index.vue @@ -0,0 +1,197 @@ +<template> + <div class="memeber-manage"> + <div class="left"></div> + <div class="right"> + <SearchCommonView + ref="searchCommonView" + :query-class-options="queryClassOptions" + :search-options="searchOptions" + /> + <div class="btn-pager"> + <PublicFunctionBtnView + :allocation="false" + :receive="false" + :delete-button="false" + :import-button="false" + :department-set="true" + :data-range="true" + :login-control="true" + :operates-list="operatesList" + /> + <PagerView class="page" /> + </div> + <TableCommonView ref="tableListRef" :table-list="tableList"> + <template slot="tableButton"> + <el-table-column label="鎿嶄綔" width="160"> + <template slot-scope="scope"> + <el-button @click="editClick(scope.row)" type="text" size="small">缂栬緫</el-button> + <el-button v-if="!scope.row.enableStatus" @click="enableClick(scope.row)" type="text" size="small" + >鍚敤</el-button + > + <el-button v-else @click="stopClick(scope.row)" type="text" size="small">鍋滅敤</el-button> + <el-button @click="copyClick(scope.row)" type="text" size="small">澶嶅埗</el-button> + <el-button @click="deleteClick(scope.row)" type="text" size="small">鍒犻櫎</el-button> + </template> + </el-table-column> + </template> + </TableCommonView> + </div> + + <!-- 鏂板缓/缂栬緫 --> + <AddContractManageDialog v-if="editConfig.visible" :edit-common-config="editConfig" /> + </div> +</template> + +<script> +import AddContractManageDialog from "@/views/sales/contractManage/AddContractManageDialog" + +export default { + name: "MemberManage", + props: {}, + components: { + AddContractManageDialog + }, + computed: { + searchCommonHeight() { + return this.$refs.searchCommonView.offsetHeight + } + }, + data() { + return { + tableList: {}, + queryClassOptions: [ + { value: "1", label: "鍏ㄩ儴" }, + { value: "2", label: "宸叉壒鍑�" }, + { value: "3", label: "瀹℃壒涓�" }, + { value: "4", label: "鏈彁浜�" }, + { value: "5", label: "宸查┏鍥�" }, + { value: "6", label: "宸叉嫆缁�" } + ], + searchOptions: [], + operatesList: [ + { id: "1", name: "鍏变韩" }, + { id: "2", name: "鎵归噺缂栬緫" }, + { id: "3", name: "瀵煎嚭" }, + { id: "4", name: "涓嬭浇鍏ㄩ儴闄勪欢" }, + { id: "5", name: "鏇存敼鍒涘缓浜�" }, + { id: "6", name: "鏍戠粨鏋勮缃�" }, + { id: "7", name: "瀹℃壒璁剧疆" }, + { id: "8", name: "鎭㈠棰勮鍒楀" } + ], + editConfig: { + visible: false, + title: "鏂板缓", + infomation: {} + } + } + }, + created() { + this.setTable() + }, + methods: { + setTable() { + this.tableList = { + tableInfomation: [ + { + name: "灏忓垬", + account: "xiaoliu", + department: "甯傚満閮�", + creator: "绯荤粺绠$悊鍛�", + rolePermssion: "涓荤", + phone: "18511112222", + email: "xiaoliu@aaa.ccom", + isAdmin: "鏄�", + state: "鍦ㄨ亴", + enableStatus: true + } + ], + tableColumn: [ + { label: "濮撳悕", prop: "name", min: 120 }, + { label: "璐﹀彿", prop: "account", min: 90 }, + { label: "閮ㄩ棬", prop: "department" }, + { label: "瑙掕壊鏉冮檺", prop: "rolePermssion", min: 100 }, + { label: "鎵嬫満", prop: "phone" }, + { label: "Email", prop: "email" }, + { label: "鏄惁绠$悊鍛�", prop: "isAdmin", min: 100 }, + { label: "鐘舵��", prop: "state" } + ] + } + this.searchOptions = [] + for (let i = 0; i < this.tableList.tableColumn.length; i++) { + const label = this.tableList.tableColumn[i].label + this.searchOptions.push({ value: (i + 1).toString(), label: label }) + } + }, + // 鏂板缓 + addBtnClick() { + this.editConfig.visible = true + this.editConfig.title = "鏂板缓" + this.editConfig.infomation = { + customName: "", + documentNumber: "ZDYBD01-3", + owner: "", + contractStatus: "", + salesQuotation: "", + approvalWorkflow: "", + approvalSteps: "", + approvalPerson: "", + approvalOpinion: "" + } + }, + // 缂栬緫 + editClick(row) { + console.log(row) + this.editConfig.visible = true + this.editConfig.title = "缂栬緫" + this.editConfig.infomation = { + customName: "", + documentNumber: "TKD20230521-12", + owner: "", + contractStatus: "", + salesQuotation: "", + approvalWorkflow: "", + approvalSteps: "", + approvalPerson: "", + approvalOpinion: "" + } + }, + // 鍚敤 + enableClick(row) { + console.log(row) + }, + // 鍋滅敤 + stopClick(row) { + console.log(row) + }, + // 澶嶅埗 + copyClick(row) { + console.log(row) + }, + // 鍒犻櫎 + deleteClick(row) { + console.log(row) + } + } +} +</script> + +<!-- Add "scoped" attribute to limit CSS to this component only --> +<style lang="scss" scoped> +.memeber-manage { + display: flex; + .left { + width: 260px; + height: 100vh; + border-right: 1px solid #ebeef5; + } + .right { + flex: 1; + .btn-pager { + display: flex; + .page { + margin-left: auto; + } + } + } +} +</style> diff --git a/src/views/backgroundConfig/rolePermssion/index.vue b/src/views/backgroundConfig/rolePermssion/index.vue new file mode 100644 index 0000000..7be9125 --- /dev/null +++ b/src/views/backgroundConfig/rolePermssion/index.vue @@ -0,0 +1,120 @@ +<template> + <div class="role-peimission"> + <div class="btn-pager"> + <el-button @click="addpermssionClick" type="primary" size="small">鏂板鏉冮檺</el-button> + </div> + <TableCommonView ref="tableListRef" :select-box="false" :table-list="tableList"> + <template slot="tableButton"> + <el-table-column label="鎿嶄綔" width="320"> + <template slot-scope="scope"> + <el-button @click="handleClick(scope.row)" type="text" size="small">缂栬緫</el-button> + <el-button @click="handleClick(scope.row)" type="text" size="small">澶嶅埗</el-button> + <el-button @click="handleClick(scope.row)" type="text" size="small">璁剧疆鎴愬憳</el-button> + <el-button @click="handleClick(scope.row)" type="text" size="small">瀛楁鏉冮檺</el-button> + <el-button @click="handleClick(scope.row)" type="text" size="small">鍒犻櫎</el-button> + <el-button @click="handleClick(scope.row)" type="text" size="small">涓婄Щ</el-button> + <el-button @click="handleClick(scope.row)" type="text" size="small">涓嬬Щ</el-button> + </template> + </el-table-column> + </template> + </TableCommonView> + <!-- 鏂板缓/缂栬緫 --> + <AddContractManageDialog v-if="editConfig.visible" :edit-common-config="editConfig" /> + </div> +</template> + +<script> +import AddContractManageDialog from "@/views/sales/contractManage/AddContractManageDialog" + +export default { + name: "RoleOeimission", + props: {}, + components: { + AddContractManageDialog + }, + computed: { + searchCommonHeight() { + return this.$refs.searchCommonView.offsetHeight + } + }, + data() { + return { + tableList: {}, + editConfig: { + visible: false, + title: "鏂板缓", + infomation: {} + } + } + }, + created() { + this.setTable() + }, + methods: { + setTable() { + this.tableList = { + tableInfomation: [ + { + number: "1", + owner: "鎬荤粡鐞�", + notes: "" + } + ], + tableColumn: [ + { label: "#", prop: "number", width: 80 }, + { label: "鏉冮檺鍚嶇О", prop: "owner", width: 160 }, + { label: "澶囨敞", prop: "notes" } + ] + } + this.searchOptions = [] + for (let i = 0; i < this.tableList.tableColumn.length; i++) { + const label = this.tableList.tableColumn[i].label + this.searchOptions.push({ value: (i + 1).toString(), label: label }) + } + }, + // 鏂板缓 + addBtnClick() { + this.editConfig.visible = true + this.editConfig.title = "鏂板缓" + this.editConfig.infomation = { + customName: "", + documentNumber: "ZDYBD01-3", + owner: "", + contractStatus: "", + salesQuotation: "", + approvalWorkflow: "", + approvalSteps: "", + approvalPerson: "", + approvalOpinion: "" + } + }, + // 缂栬緫 + handleClick(row) { + console.log(row) + this.editConfig.visible = true + this.editConfig.title = "缂栬緫" + this.editConfig.infomation = { + customName: "", + documentNumber: "TKD20230521-12", + owner: "", + contractStatus: "", + salesQuotation: "", + approvalWorkflow: "", + approvalSteps: "", + approvalPerson: "", + approvalOpinion: "" + } + } + } +} +</script> + +<!-- Add "scoped" attribute to limit CSS to this component only --> +<style lang="scss" scoped> +.role-peimission { + .btn-pager { + margin: 0px 20px 20px; + float: right; + } +} +</style> diff --git a/src/views/custom/contacts/AddContactsDialog.vue b/src/views/custom/contacts/AddContactsDialog.vue index 3c83421..3e081e0 100644 --- a/src/views/custom/contacts/AddContactsDialog.vue +++ b/src/views/custom/contacts/AddContactsDialog.vue @@ -345,24 +345,4 @@ line-height: 55px; } } -::v-deep { - .el-dialog__header { - padding: 12.5px 10px; - border-bottom: 1px solid #e5e5e5; - .el-dialog__title { - font-size: 15px; - color: #323232; - font-weight: bold; - } - } - .el-dialog__body { - padding: 0px; - } - .el-dialog__footer { - padding: 0px; - text-align: center; - box-sizing: border-box; - border-top: 1px solid #dadee5; - } -} </style> diff --git a/src/views/custom/customManage/AddCustomManageDialog.vue b/src/views/custom/customManage/AddCustomManageDialog.vue index 1617898..964d923 100644 --- a/src/views/custom/customManage/AddCustomManageDialog.vue +++ b/src/views/custom/customManage/AddCustomManageDialog.vue @@ -518,24 +518,4 @@ line-height: 55px; } } -::v-deep { - .el-dialog__header { - padding: 12.5px 10px; - border-bottom: 1px solid #e5e5e5; - .el-dialog__title { - font-size: 15px; - color: #323232; - font-weight: bold; - } - } - .el-dialog__body { - padding: 0px; - } - .el-dialog__footer { - padding: 0px; - text-align: center; - box-sizing: border-box; - border-top: 1px solid #dadee5; - } -} </style> diff --git a/src/views/custom/followupRecords/AddFollowupRecordsDialog.vue b/src/views/custom/followupRecords/AddFollowupRecordsDialog.vue index dc48051..3e1c441 100644 --- a/src/views/custom/followupRecords/AddFollowupRecordsDialog.vue +++ b/src/views/custom/followupRecords/AddFollowupRecordsDialog.vue @@ -330,24 +330,4 @@ line-height: 55px; } } -::v-deep { - .el-dialog__header { - padding: 12.5px 10px; - border-bottom: 1px solid #e5e5e5; - .el-dialog__title { - font-size: 15px; - color: #323232; - font-weight: bold; - } - } - .el-dialog__body { - padding: 0px; - } - .el-dialog__footer { - padding: 0px; - text-align: center; - box-sizing: border-box; - border-top: 1px solid #dadee5; - } -} </style> diff --git a/src/views/custom/salesLead/AddSalesLeadDialog.vue b/src/views/custom/salesLead/AddSalesLeadDialog.vue index d9dab70..06d40fe 100644 --- a/src/views/custom/salesLead/AddSalesLeadDialog.vue +++ b/src/views/custom/salesLead/AddSalesLeadDialog.vue @@ -177,7 +177,7 @@ contactName: "", contactDuties: "", phoneNumber: "", - businessStatus: "鏂板缓", + businessStatus: "", businessSource: "1", owner: "", position: "", @@ -302,26 +302,6 @@ background-color: #f5f5f5; height: 55px; line-height: 55px; - } -} -::v-deep { - .el-dialog__header { - padding: 12.5px 10px; - border-bottom: 1px solid #e5e5e5; - .el-dialog__title { - font-size: 15px; - color: #323232; - font-weight: bold; - } - } - .el-dialog__body { - padding: 0px; - } - .el-dialog__footer { - padding: 0px; - text-align: center; - box-sizing: border-box; - border-top: 1px solid #dadee5; } } </style> diff --git a/src/views/other/commonDialog/HighViewScopeDialog.vue b/src/views/other/commonDialog/HighViewScopeDialog.vue new file mode 100644 index 0000000..525c815 --- /dev/null +++ b/src/views/other/commonDialog/HighViewScopeDialog.vue @@ -0,0 +1,162 @@ +<template> + <div class="high-view-scope"> + <el-dialog + title="鏌ヨ鑼冨洿-楂樼骇" + :visible.sync="editConfig.visible" + :width="dialogWidth" + :before-close="handleClose" + > + <div class="view-sel-bg"> + <div class="title">鏌ヨ閫夋嫨</div> + <el-input v-model="searchInput" size="mini" placeholder="璇疯緭鍏ヨ鏌ユ壘鐨勬垚鍛�"></el-input> + <el-checkbox v-model="resignMember">鏄剧ず绂昏亴鎴愬憳</el-checkbox> + <el-checkbox v-model="defaultCollapse">瀛愰儴闂ㄩ粯璁ゆ敹璧�</el-checkbox> + </div> + <div class="view-tree"> + <el-tree + :data="data" + show-checkbox + default-expand-all + node-key="id" + ref="tree" + highlight-current + :props="defaultProps" + > + </el-tree> + </div> + <div slot="footer" class="dialog-footer"> + <el-button type="primary" size="small" @click="editConfig.visible = false">纭</el-button> + <el-button size="small" @click="editConfig.visible = false">鍙栨秷</el-button> + </div> + </el-dialog> + </div> +</template> + +<script> +export default { + name: "HighViewScopeDialog", + props: { + editCommonConfig: { + type: Object, + default: () => { + return { + visible: false, + infomation: {} + } + } + } + }, + components: {}, + computed: {}, + data() { + return { + dialogWidth: "35%", + editConfig: this.editCommonConfig, + data: [ + { + id: 1, + label: "涓婃捣鐏靛綋淇℃伅绉戞妧鏈夐檺鍏徃", + children: [ + { + id: 1 - 1, + label: "閿�鍞儴", + children: [ + { + id: 1 - 1 - 1, + label: "Mia" + }, + { + id: 1 - 1 - 2, + label: "绯荤粺绠$悊鍛�" + }, + { + id: 1 - 1 - 3, + label: "閿�鍞�" + }, + { + id: 1 - 1 - 4, + label: "閿�鍞�荤洃" + }, + { + id: 1 - 1 - 5, + label: "閿�鍞竴閮�", + children: [] + }, + { + id: 1 - 1 - 6, + label: "閿�鍞簩閮�", + children: [] + } + ] + }, + { + id: 2 - 1, + label: "绠$悊灞�", + children: [ + { + id: 2 - 1 - 1, + label: "BOSS" + }, + { + id: 2 - 1 - 2, + label: "绯荤粺绠$悊鍛�" + } + ] + }, + { + id: 3 - 1, + label: "璐㈠姟閮�", + children: [] + }, + { + id: 4 - 1, + label: "甯傚満閮�", + children: [] + } + ] + } + ], + defaultProps: { + children: "children", + label: "label" + }, + searchInput: "", + resignMember: false, + defaultCollapse: false + } + }, + created() {}, + methods: { + handleClose() { + this.editConfig.visible = false + } + } +} +</script> + +<!-- Add "scoped" attribute to limit CSS to this component only --> +<style lang="scss" scoped> +.high-view-scope { + .view-sel-bg { + display: flex; + align-items: center; + margin: 20px 20px 0; + .el-input { + width: 240px; + margin-left: 5px; + } + .el-checkbox { + margin-left: 5px; + margin-right: 0; + } + } + .view-tree { + margin: 10px 20px 20px; + } + .dialog-footer { + background-color: #f5f5f5; + height: 55px; + line-height: 55px; + } +} +</style> diff --git a/src/views/other/QueryClassSettingDialog.vue b/src/views/other/commonDialog/QueryClassSettingDialog.vue similarity index 90% rename from src/views/other/QueryClassSettingDialog.vue rename to src/views/other/commonDialog/QueryClassSettingDialog.vue index b1818c7..a582726 100644 --- a/src/views/other/QueryClassSettingDialog.vue +++ b/src/views/other/commonDialog/QueryClassSettingDialog.vue @@ -125,24 +125,4 @@ line-height: 55px; } } -::v-deep { - .el-dialog__header { - padding: 12.5px 10px; - border-bottom: 1px solid #e5e5e5; - .el-dialog__title { - font-size: 15px; - color: #323232; - font-weight: bold; - } - } - .el-dialog__body { - padding: 0px; - } - .el-dialog__footer { - padding: 0px; - text-align: center; - box-sizing: border-box; - border-top: 1px solid #dadee5; - } -} </style> diff --git a/src/views/error/404.vue b/src/views/other/error/404.vue similarity index 100% rename from src/views/error/404.vue rename to src/views/other/error/404.vue diff --git a/src/views/login/index.vue b/src/views/other/login/index.vue similarity index 100% rename from src/views/login/index.vue rename to src/views/other/login/index.vue diff --git a/src/views/sales/contractManage/AddContractManageDialog.vue b/src/views/sales/contractManage/AddContractManageDialog.vue index 57a719b..0e6bdb0 100644 --- a/src/views/sales/contractManage/AddContractManageDialog.vue +++ b/src/views/sales/contractManage/AddContractManageDialog.vue @@ -273,29 +273,4 @@ line-height: 55px; } } -::v-deep { - .el-dialog__header { - padding: 12.5px 10px; - border-bottom: 1px solid #e5e5e5; - .el-dialog__title { - font-size: 15px; - color: #323232; - font-weight: bold; - } - } - .el-dialog__body { - padding: 0px; - } - .el-dialog__footer { - padding: 0px; - text-align: center; - box-sizing: border-box; - border-top: 1px solid #dadee5; - } - .product-view { - .el-form-item__label { - padding: 0; - } - } -} </style> diff --git a/src/views/sales/generatePlan/AddGeneratePlanDialog.vue b/src/views/sales/generatePlan/AddGeneratePlanDialog.vue index 573207a..384ba59 100644 --- a/src/views/sales/generatePlan/AddGeneratePlanDialog.vue +++ b/src/views/sales/generatePlan/AddGeneratePlanDialog.vue @@ -251,29 +251,4 @@ line-height: 55px; } } -::v-deep { - .el-dialog__header { - padding: 12.5px 10px; - border-bottom: 1px solid #e5e5e5; - .el-dialog__title { - font-size: 15px; - color: #323232; - font-weight: bold; - } - } - .el-dialog__body { - padding: 0px; - } - .el-dialog__footer { - padding: 0px; - text-align: center; - box-sizing: border-box; - border-top: 1px solid #dadee5; - } - .product-view { - .el-form-item__label { - padding: 0; - } - } -} </style> diff --git a/src/views/sales/masterOrder/AddMasterOrderDialog.vue b/src/views/sales/masterOrder/AddMasterOrderDialog.vue index 307d059..b9a6702 100644 --- a/src/views/sales/masterOrder/AddMasterOrderDialog.vue +++ b/src/views/sales/masterOrder/AddMasterOrderDialog.vue @@ -222,29 +222,4 @@ line-height: 55px; } } -::v-deep { - .el-dialog__header { - padding: 12.5px 10px; - border-bottom: 1px solid #e5e5e5; - .el-dialog__title { - font-size: 15px; - color: #323232; - font-weight: bold; - } - } - .el-dialog__body { - padding: 0px; - } - .el-dialog__footer { - padding: 0px; - text-align: center; - box-sizing: border-box; - border-top: 1px solid #dadee5; - } - .product-view { - .el-form-item__label { - padding: 0; - } - } -} </style> diff --git a/src/views/sales/quotation/AddQuotationDialog.vue b/src/views/sales/quotation/AddQuotationDialog.vue index 37c0246..156e70b 100644 --- a/src/views/sales/quotation/AddQuotationDialog.vue +++ b/src/views/sales/quotation/AddQuotationDialog.vue @@ -362,29 +362,4 @@ line-height: 55px; } } -::v-deep { - .el-dialog__header { - padding: 12.5px 10px; - border-bottom: 1px solid #e5e5e5; - .el-dialog__title { - font-size: 15px; - color: #323232; - font-weight: bold; - } - } - .el-dialog__body { - padding: 0px; - } - .el-dialog__footer { - padding: 0px; - text-align: center; - box-sizing: border-box; - border-top: 1px solid #dadee5; - } - .product-view { - .el-form-item__label { - padding: 0; - } - } -} </style> diff --git a/src/views/sales/refundForm/AddRefundFormDialog.vue b/src/views/sales/refundForm/AddRefundFormDialog.vue index 7b4587d..adfcbc7 100644 --- a/src/views/sales/refundForm/AddRefundFormDialog.vue +++ b/src/views/sales/refundForm/AddRefundFormDialog.vue @@ -380,29 +380,4 @@ line-height: 55px; } } -::v-deep { - .el-dialog__header { - padding: 12.5px 10px; - border-bottom: 1px solid #e5e5e5; - .el-dialog__title { - font-size: 15px; - color: #323232; - font-weight: bold; - } - } - .el-dialog__body { - padding: 0px; - } - .el-dialog__footer { - padding: 0px; - text-align: center; - box-sizing: border-box; - border-top: 1px solid #dadee5; - } - .product-view { - .el-form-item__label { - padding: 0; - } - } -} </style> diff --git a/src/views/sales/salesDetails/AddSalesDetailsDialog.vue b/src/views/sales/salesDetails/AddSalesDetailsDialog.vue index 90bc152..906bc9e 100644 --- a/src/views/sales/salesDetails/AddSalesDetailsDialog.vue +++ b/src/views/sales/salesDetails/AddSalesDetailsDialog.vue @@ -411,29 +411,4 @@ line-height: 55px; } } -::v-deep { - .el-dialog__header { - padding: 12.5px 10px; - border-bottom: 1px solid #e5e5e5; - .el-dialog__title { - font-size: 15px; - color: #323232; - font-weight: bold; - } - } - .el-dialog__body { - padding: 0px; - } - .el-dialog__footer { - padding: 0px; - text-align: center; - box-sizing: border-box; - border-top: 1px solid #dadee5; - } - .product-view { - .el-form-item__label { - padding: 0; - } - } -} </style> diff --git a/src/views/sales/salesOpportunity/AddSalesOpportunityDialog.vue b/src/views/sales/salesOpportunity/AddSalesOpportunityDialog.vue index cf9379e..ed9d181 100644 --- a/src/views/sales/salesOpportunity/AddSalesOpportunityDialog.vue +++ b/src/views/sales/salesOpportunity/AddSalesOpportunityDialog.vue @@ -548,24 +548,4 @@ line-height: 55px; } } -::v-deep { - .el-dialog__header { - padding: 12.5px 10px; - border-bottom: 1px solid #e5e5e5; - .el-dialog__title { - font-size: 15px; - color: #323232; - font-weight: bold; - } - } - .el-dialog__body { - padding: 0px; - } - .el-dialog__footer { - padding: 0px; - text-align: center; - box-sizing: border-box; - border-top: 1px solid #dadee5; - } -} </style> diff --git a/src/views/sales/salesReturn/AddSalesReturnDialog.vue b/src/views/sales/salesReturn/AddSalesReturnDialog.vue index 3e1bc1c..d362302 100644 --- a/src/views/sales/salesReturn/AddSalesReturnDialog.vue +++ b/src/views/sales/salesReturn/AddSalesReturnDialog.vue @@ -329,29 +329,4 @@ line-height: 55px; } } -::v-deep { - .el-dialog__header { - padding: 12.5px 10px; - border-bottom: 1px solid #e5e5e5; - .el-dialog__title { - font-size: 15px; - color: #323232; - font-weight: bold; - } - } - .el-dialog__body { - padding: 0px; - } - .el-dialog__footer { - padding: 0px; - text-align: center; - box-sizing: border-box; - border-top: 1px solid #dadee5; - } - .product-view { - .el-form-item__label { - padding: 0; - } - } -} </style> diff --git a/src/views/sales/subOrder/AddSubOrderDialog.vue b/src/views/sales/subOrder/AddSubOrderDialog.vue index 4e198db..0000851 100644 --- a/src/views/sales/subOrder/AddSubOrderDialog.vue +++ b/src/views/sales/subOrder/AddSubOrderDialog.vue @@ -304,29 +304,4 @@ line-height: 55px; } } -::v-deep { - .el-dialog__header { - padding: 12.5px 10px; - border-bottom: 1px solid #e5e5e5; - .el-dialog__title { - font-size: 15px; - color: #323232; - font-weight: bold; - } - } - .el-dialog__body { - padding: 0px; - } - .el-dialog__footer { - padding: 0px; - text-align: center; - box-sizing: border-box; - border-top: 1px solid #dadee5; - } - .product-view { - .el-form-item__label { - padding: 0; - } - } -} </style> diff --git a/src/views/service/orderManage/AddOrderManageDialog.vue b/src/views/service/orderManage/AddOrderManageDialog.vue index 39565a9..7e89add 100644 --- a/src/views/service/orderManage/AddOrderManageDialog.vue +++ b/src/views/service/orderManage/AddOrderManageDialog.vue @@ -280,24 +280,4 @@ line-height: 55px; } } -::v-deep { - .el-dialog__header { - padding: 12.5px 10px; - border-bottom: 1px solid #e5e5e5; - .el-dialog__title { - font-size: 15px; - color: #323232; - font-weight: bold; - } - } - .el-dialog__body { - padding: 0px; - } - .el-dialog__footer { - padding: 0px; - text-align: center; - box-sizing: border-box; - border-top: 1px solid #dadee5; - } -} </style> diff --git a/src/views/service/serviceContract/AddServiceContractDialog.vue b/src/views/service/serviceContract/AddServiceContractDialog.vue index d79b75d..237dfd5 100644 --- a/src/views/service/serviceContract/AddServiceContractDialog.vue +++ b/src/views/service/serviceContract/AddServiceContractDialog.vue @@ -426,29 +426,4 @@ line-height: 55px; } } -::v-deep { - .el-dialog__header { - padding: 12.5px 10px; - border-bottom: 1px solid #e5e5e5; - .el-dialog__title { - font-size: 15px; - color: #323232; - font-weight: bold; - } - } - .el-dialog__body { - padding: 0px; - } - .el-dialog__footer { - padding: 0px; - text-align: center; - box-sizing: border-box; - border-top: 1px solid #dadee5; - } - .product-view { - .el-form-item__label { - padding: 0; - } - } -} </style> diff --git a/src/views/service/serviceFeeManage/AddServiceFeeManageDialog.vue b/src/views/service/serviceFeeManage/AddServiceFeeManageDialog.vue index 750aef2..d69ad2a 100644 --- a/src/views/service/serviceFeeManage/AddServiceFeeManageDialog.vue +++ b/src/views/service/serviceFeeManage/AddServiceFeeManageDialog.vue @@ -39,7 +39,7 @@ style="width: 63%" > <el-option - v-for="item in serviceCharger" + v-for="item in serviceChargerOptions" :key="item.value" :label="item.label" :value="item.value" @@ -449,26 +449,6 @@ background-color: #f5f5f5; height: 55px; line-height: 55px; - } -} -::v-deep { - .el-dialog__header { - padding: 12.5px 10px; - border-bottom: 1px solid #e5e5e5; - .el-dialog__title { - font-size: 15px; - color: #323232; - font-weight: bold; - } - } - .el-dialog__body { - padding: 0px; - } - .el-dialog__footer { - padding: 0px; - text-align: center; - box-sizing: border-box; - border-top: 1px solid #dadee5; } } </style> diff --git a/src/views/service/serviceFollowup/AddServiceFollowupDialog.vue b/src/views/service/serviceFollowup/AddServiceFollowupDialog.vue index 55dfdfa..ba384cf 100644 --- a/src/views/service/serviceFollowup/AddServiceFollowupDialog.vue +++ b/src/views/service/serviceFollowup/AddServiceFollowupDialog.vue @@ -277,24 +277,4 @@ line-height: 55px; } } -::v-deep { - .el-dialog__header { - padding: 12.5px 10px; - border-bottom: 1px solid #e5e5e5; - .el-dialog__title { - font-size: 15px; - color: #323232; - font-weight: bold; - } - } - .el-dialog__body { - padding: 0px; - } - .el-dialog__footer { - padding: 0px; - text-align: center; - box-sizing: border-box; - border-top: 1px solid #dadee5; - } -} </style> diff --git a/vue.config.js b/vue.config.js index f67b0ac..dbac5b2 100644 --- a/vue.config.js +++ b/vue.config.js @@ -50,5 +50,13 @@ symbolId: "icon-[name]" }) .end() + }, + css: { + loaderOptions: { + // 璁剧疆 scss 鍏敤鍙橀噺鏂囦欢 + sass: { + additionalData: `@import "@/assets/style/variable.scss";` + } + } } } -- Gitblit v1.8.0