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