From e34c2e67208bd63e320a4504ce8cf40a83ba7cbb Mon Sep 17 00:00:00 2001
From: yangfeng <wanwan926_4@163.com>
Date: 星期五, 07 七月 2023 18:48:09 +0800
Subject: [PATCH] 销售模块剩余部分新建页面
---
src/views/sales/generatePlan/AddGeneratePlanDialog.vue | 279 +++++++
src/views/service/serviceFollowup/AddServiceFollowupDialog.vue | 15
src/views/service/serviceFeeManage/index.vue | 5
src/views/sales/salesDetails/AddSalesDetailsDialog.vue | 65 +
src/components/makepager/TableCommonView.vue | 11
src/views/custom/salesLead/index.vue | 6
src/views/service/orderManage/AddOrderManageDialog.vue | 15
src/views/sales/salesReturn/index.vue | 52
src/views/custom/followupRecords/AddFollowupRecordsDialog.vue | 15
src/components/layout/components/appsidebar/index.vue | 5
src/views/sales/contractManage/index.vue | 56
src/views/service/serviceFeeManage/AddServiceFeeManageDialog.vue | 15
src/views/service/serviceContract/AddServiceContractDialog.vue | 74 +
src/components/makepager/CommonFormTableView.vue | 196 +++-
src/views/sales/masterOrder/AddMasterOrderDialog.vue | 15
src/views/sales/salesReturn/AddSalesReturnDialog.vue | 357 +++++++++
src/views/custom/contacts/AddContactsDialog.vue | 15
src/views/sales/refundForm/AddRefundFormDialog.vue | 408 ++++++++++
src/router/index.js | 2
src/views/sales/refundForm/index.vue | 60
src/views/custom/customManage/AddCustomManageDialog.vue | 15
src/views/sales/salesOpportunity/AddSalesOpportunityDialog.vue | 15
src/views/custom/customManage/index.vue | 18
src/views/sales/quotation/AddQuotationDialog.vue | 73 +
src/views/sales/subOrder/AddSubOrderDialog.vue | 66 +
src/router/sales/index.js | 10
src/views/sales/contractManage/AddContractManageDialog.vue | 301 +++++++
src/views/sales/generatePlan/index.vue | 64
28 files changed, 1,947 insertions(+), 281 deletions(-)
diff --git a/src/components/layout/components/appsidebar/index.vue b/src/components/layout/components/appsidebar/index.vue
index db1ae8b..d2d5ea1 100644
--- a/src/components/layout/components/appsidebar/index.vue
+++ b/src/components/layout/components/appsidebar/index.vue
@@ -4,6 +4,7 @@
<div class="box">
<el-menu
router
+ unique-opened
:default-active="$route.path"
class="el-menu-vertical-demo"
@select="handleOpen"
@@ -12,7 +13,7 @@
text-color="#fff"
active-text-color="#ffd04b"
>
- <el-submenu index="">
+ <el-submenu index="1">
<template slot="title">
<i class="el-icon-location"></i>
<span>瀹㈡埛绠$悊</span>
@@ -35,7 +36,7 @@
<el-menu-item index="/sales/salesReturn">閿�鍞��璐у崟</el-menu-item>
<el-menu-item index="/sales/refundForm">閿�鍞��娆惧崟</el-menu-item>
<el-menu-item index="/sales/contractManage">鍚堝悓绠$悊</el-menu-item>
- <el-menu-item index="/sales/productPlan">鐢熶骇璁″垝</el-menu-item>
+ <el-menu-item index="/sales/generatePlan">鐢熸垚璁″垝</el-menu-item>
</el-submenu>
<el-submenu index="3">
<template slot="title">
diff --git a/src/components/makepager/CommonFormTableView.vue b/src/components/makepager/CommonFormTableView.vue
index 125520c..c8ce837 100644
--- a/src/components/makepager/CommonFormTableView.vue
+++ b/src/components/makepager/CommonFormTableView.vue
@@ -1,65 +1,50 @@
<template>
<div class="page-view">
<el-form ref="form" :model="productTableList" :show-message="false" label-position="right">
- <el-table :data="productTableList.tableData" style="width: 100%">
- <el-table-column prop="id" label="#" width="30"></el-table-column>
- <el-table-column prop="productName" label="浜у搧鍚嶇О">
- <template slot-scope="scope">
- <el-form-item
- label=" "
- :prop="'tableData.' + scope.$index + '.productName'"
- :rules="[{ required: true, message: '杈撳叆涓嶈兘涓虹┖' }]"
- >
- <el-input v-model.trim="scope.row.productName" maxlength="50" size="mini" style="width: 70px"></el-input>
- </el-form-item>
+ <el-table
+ :data="productTableList.tableData"
+ :show-summary="showSummary.show"
+ :summary-method="getSummaries"
+ :span-method="arraySpanMethod"
+ style="width: 100%"
+ >
+ <el-table-column
+ v-for="(item, i) in productTableList.tableColumn"
+ :key="i"
+ :prop="item.prop"
+ :label="item.label"
+ :width="item.width"
+ :min-width="item.min"
+ align="right"
+ >
+ <!-- 琛ㄥご鏍峰紡 -->
+ <template slot="header">
+ <span v-if="item.isRequird" style="color: #f56c6c">*</span>
+ <span>{{ item.label }}</span>
</template>
- </el-table-column>
- <el-table-column prop="productNumber" label="浜у搧缂栧彿"></el-table-column>
- <el-table-column prop="startDate" label="鏈嶅姟寮�濮嬫棩" width="140">
+ <!-- column鏍峰紡 -->
<template slot-scope="scope">
<el-form-item
+ v-if="item.input"
label=" "
- :prop="'tableData.' + scope.$index + '.startDate'"
- :rules="[{ required: true, message: '杈撳叆涓嶈兘涓虹┖' }]"
+ :prop="'tableData.' + scope.$index + '.' + item.prop"
+ :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]"
>
- <el-date-picker
- v-model="scope.row.startDate"
- size="mini"
- type="date"
- placeholder="閫夋嫨鏃ユ湡"
- style="width: 90px"
- >
+ <el-input v-model.trim="scope.row[item.prop]" maxlength="50" size="mini"></el-input>
+ </el-form-item>
+ <el-form-item
+ v-else-if="item.date"
+ label=" "
+ :prop="'tableData.' + scope.$index + '.' + item.prop"
+ :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]"
+ >
+ <!-- <el-input v-model.trim="scope.row[item.prop]" maxlength="50" size="mini"></el-input> -->
+ <el-date-picker v-model="scope.row[item.prop]" type="date" size="mini" style="width: 110px">
</el-date-picker>
</el-form-item>
+ <span v-else>{{ scope.row[item.prop] }}</span>
</template>
</el-table-column>
- <el-table-column prop="endDate" label="鏈嶅姟鍒版湡鏃�" width="140">
- <template slot-scope="scope">
- <el-form-item
- label=" "
- :prop="'tableData.' + scope.$index + '.endDate'"
- :rules="[{ required: true, message: '杈撳叆涓嶈兘涓虹┖' }]"
- >
- <el-date-picker
- v-model="scope.row.endDate"
- size="mini"
- type="date"
- placeholder="閫夋嫨鏃ユ湡"
- style="width: 90px"
- >
- </el-date-picker>
- </el-form-item>
- </template>
- </el-table-column>
- <el-table-column prop="number" label="鏁伴噺"></el-table-column>
- <el-table-column prop="" label="鍚◣鍗曚环"> </el-table-column>
- <el-table-column prop="" label="涓嶅惈绋庡崟浠�"> </el-table-column>
- <el-table-column prop="" label="鎶樻墸鐜�(%)"></el-table-column>
- <el-table-column prop="" label="鎶樻墸棰�"> </el-table-column>
- <el-table-column prop="" label="绋�(閿�鍞�)"> </el-table-column>
- <el-table-column prop="" label="瀹為檯鍚◣鍗曚环"></el-table-column>
- <el-table-column prop="" label="浠风◣鍚堣"> </el-table-column>
- <el-table-column prop="" label="鎻忚堪"> </el-table-column>
</el-table>
</el-form>
<div style="margin: 10px">
@@ -67,6 +52,18 @@
<el-button size="small" type="primary">瀵煎叆鏄庣粏</el-button>
<el-button size="small" type="primary">娓呯┖</el-button>
<el-button size="small" type="primary">閲嶇畻</el-button>
+ </div>
+ <div v-if="showSummary.total || showSummary.refundable" style="height: 42px; line-height: 42px">
+ <el-row :gutter="10">
+ <el-col v-if="showSummary.total" :span="2" :offset="22">
+ <span style="font-weight: bold">鍚堣</span>
+ <span style="margin-left: 10px">0.00</span>
+ </el-col>
+ <el-col v-if="showSummary.refundable" :span="2" :offset="22">
+ <span style="font-weight: bold">搴旈��娆�</span>
+ <span style="margin-left: 10px">0.00</span>
+ </el-col>
+ </el-row>
</div>
</div>
</template>
@@ -84,6 +81,18 @@
// table琛ㄥ崟
{ label: "", prop: "", min: 200, tooltip: true }
]
+ }
+ }
+ },
+ showSummary: {
+ type: Object,
+ default: () => {
+ return {
+ show: false,
+ total: false,
+ refundable: false,
+ sumProp: [],
+ mergeNumber: 1
}
}
}
@@ -105,6 +114,76 @@
},
handleSelectionChange(val) {
this.$emit("getSelectArray", val)
+ },
+ // 琛屽悎骞�
+ arraySpanMethod() {
+ if (this.showSummary.show) {
+ this.$nextTick(() => {
+ if (this.$refs.table) {
+ var current = this.$refs.table.querySelector(".el-table__footer-wrapper").querySelector(".el-table__footer")
+ var cell = current.rows[0].cells
+ for (let i = 0; i < this.showSummary.mergeNumber; i++) {
+ cell[i].style.display = "none"
+ }
+ cell[this.showSummary.mergeNumber].classList.remove("is-left")
+ cell[this.showSummary.mergeNumber].colSpan = this.showSummary.mergeNumber.toString()
+ }
+ })
+ }
+ },
+ // 鍚堣
+ getSummaries(param) {
+ if (this.showSummary.show) {
+ const { columns, data } = param
+ const sums = []
+ columns.forEach((column, index) => {
+ if (index === this.showSummary.mergeNumber) {
+ 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] = values.reduce((prev, curr) => {
+ const value = Number(curr)
+ if (!isNaN(value)) {
+ return this.number_format(prev + curr, 2, ".", ",")
+ } else {
+ return this.number_format(prev, 2, ".", ",")
+ }
+ }, 0)
+ sums[index]
+ }
+ })
+ return sums
+ }
+ },
+ // 鏁板瓧鎹㈣涓洪噾棰濇樉绀烘牸寮�
+ number_format(number, decimals, dec_point, thousands_sep) {
+ decimals = 2 //杩欓噷榛樿璁剧疆淇濈暀涓や綅灏忔暟锛屼篃鍙互娉ㄩ噴杩欏彞閲囩敤浼犲叆鐨勫弬鏁�
+ /*
+ * 鍙傛暟璇存槑锛�
+ * number锛氳鏍煎紡鍖栫殑鏁板瓧
+ * decimals锛氫繚鐣欏嚑浣嶅皬鏁�
+ * dec_point锛氬皬鏁扮偣绗﹀彿
+ * thousands_sep锛氬崈鍒嗕綅绗﹀彿
+ * */
+ number = (number + "").replace(/[^0-9+-Ee.]/g, "")
+ var n = !isFinite(+number) ? 0 : +number,
+ prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),
+ sep = typeof thousands_sep === "undefined" ? "," : thousands_sep,
+ dec = typeof dec_point === "undefined" ? "." : dec_point
+ var s = n.toString().split(".")
+ var re = /(-?\d+)(\d{3})/
+ while (re.test(s[0])) {
+ s[0] = s[0].replace(re, "$1" + sep + "$2")
+ }
+ if ((s[1] || "").length < prec) {
+ s[1] = s[1] || ""
+ s[1] += new Array(prec - s[1].length + 1).join("0")
+ } else {
+ s[1] = s[1].substring(0, prec) //灏忔暟鐐逛綅鏁拌秴鍑洪暱搴︽椂鎴彇鍓嶉潰鐨勪綅鏁�
+ }
+ return s.join(dec)
}
}
}
@@ -117,4 +196,21 @@
margin-bottom: 0;
}
}
+::v-deep {
+ .el-form-item__label {
+ display: none;
+ }
+ .el-table__footer-wrapper tbody td.el-table__cell {
+ background-color: #fff;
+ text-align: right;
+ font-weight: bold;
+ }
+ .el-input--suffix .el-input__inner {
+ padding-right: 0px;
+ }
+ .el-table .cell,
+ .el-table th.el-table__cell > .cell {
+ padding: 0 5px;
+ }
+}
</style>
diff --git a/src/components/makepager/TableCommonView.vue b/src/components/makepager/TableCommonView.vue
index ee1728d..9db25d6 100644
--- a/src/components/makepager/TableCommonView.vue
+++ b/src/components/makepager/TableCommonView.vue
@@ -21,10 +21,12 @@
:label="item.label"
:width="item.width"
:min-width="item.min"
+ show-overflow-tooltip="true"
sortable
>
<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>
<span v-else>{{ scope.row[item.prop] }}</span>
</template>
</el-table-column>
@@ -93,7 +95,6 @@
getSummaries(param) {
if (this.showSummary.show) {
const { columns, data } = param
- console.log(param)
const sums = []
columns.forEach((column, index) => {
if (index === this.showSummary.mergeNumber) {
@@ -116,7 +117,7 @@
return sums
}
},
- //瀹氫箟number_format鏂规硶
+ // 鏁板瓧鎹㈣涓洪噾棰濇樉绀烘牸寮�
number_format(number, decimals, dec_point, thousands_sep) {
decimals = 2 //杩欓噷榛樿璁剧疆淇濈暀涓や綅灏忔暟锛屼篃鍙互娉ㄩ噴杩欏彞閲囩敤浼犲叆鐨勫弬鏁�
/*
@@ -154,6 +155,12 @@
margin-top: 20px;
margin-right: 10px;
margin-bottom: 40px;
+ .blue {
+ padding: 10px;
+ color: #fff;
+ background-color: blue;
+ border-radius: 4px;
+ }
}
::v-deep {
.el-table__footer-wrapper tbody td.el-table__cell {
diff --git a/src/router/index.js b/src/router/index.js
index f634154..6effbfa 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -55,7 +55,7 @@
insIndex: true
},
redirect: {
- name: "custom"
+ name: "salesLead"
},
children: routes
},
diff --git a/src/router/sales/index.js b/src/router/sales/index.js
index f21c624..48fdcd9 100644
--- a/src/router/sales/index.js
+++ b/src/router/sales/index.js
@@ -8,7 +8,7 @@
const salesReturn = (resolve) => require(["@/views/sales/salesReturn/index"], resolve) // 閿�鍞��璐у崟
const refundForm = (resolve) => require(["@/views/sales/refundForm/index"], resolve) // 閿�鍞��娆惧崟
const contractManage = (resolve) => require(["@/views/sales/contractManage/index"], resolve) // 鍚堝悓绠$悊
-const productPlan = (resolve) => require(["@/views/sales/productPlan/index"], resolve) // 鐢熶骇璁″垝
+const generatePlan = (resolve) => require(["@/views/sales/generatePlan/index"], resolve) // 鐢熸垚璁″垝
const appconfig = [
{
@@ -76,11 +76,11 @@
}
},
{
- path: "/sales/productPlan",
- name: "productPlan",
- component: productPlan,
+ path: "/sales/generatePlan",
+ name: "generatePlan",
+ component: generatePlan,
meta: {
- title: "鐢熶骇璁″垝"
+ title: "鐢熸垚璁″垝"
}
}
]
diff --git a/src/views/custom/contacts/AddContactsDialog.vue b/src/views/custom/contacts/AddContactsDialog.vue
index f1efe13..3c83421 100644
--- a/src/views/custom/contacts/AddContactsDialog.vue
+++ b/src/views/custom/contacts/AddContactsDialog.vue
@@ -149,8 +149,21 @@
<el-row>
<el-col :span="12">
<el-form-item label="闄勪欢" prop="">
+ <template slot="label">
+ <div style="display: flex; float: right">
+ <div style="font-size: 16px">
+ <i class="el-icon-warning-outline" title="鏈�澶氫笂浼�20涓檮浠讹紝鏈�澶ч檺鍒�5MB"></i>
+ </div>
+ <span style="margin-left: 5px">闄勪欢</span>
+ </div>
+ </template>
<div class="annex-view">
- <div @click="addAnnexClick">娣诲姞</div>
+ <div @click="addAnnexClick">
+ <div style="display: flex; float: right">
+ <div style="font-size: 16px"><i class="el-icon-paperclip"></i></div>
+ <span>娣诲姞</span>
+ </div>
+ </div>
<div class="setFormat" @click="setFormatClick">璁剧疆鍏佽涓婁紶鐨勬枃浠舵牸寮�</div>
</div>
</el-form-item>
diff --git a/src/views/custom/customManage/AddCustomManageDialog.vue b/src/views/custom/customManage/AddCustomManageDialog.vue
index 3f1ca68..1617898 100644
--- a/src/views/custom/customManage/AddCustomManageDialog.vue
+++ b/src/views/custom/customManage/AddCustomManageDialog.vue
@@ -272,8 +272,21 @@
<el-row>
<el-col :span="12">
<el-form-item label="闄勪欢" prop="">
+ <template slot="label">
+ <div style="display: flex; float: right">
+ <div style="font-size: 16px">
+ <i class="el-icon-warning-outline" title="鏈�澶氫笂浼�20涓檮浠讹紝鏈�澶ч檺鍒�5MB"></i>
+ </div>
+ <span style="margin-left: 5px">闄勪欢</span>
+ </div>
+ </template>
<div class="annex-view">
- <div @click="addAnnexClick">娣诲姞</div>
+ <div @click="addAnnexClick">
+ <div style="display: flex; float: right">
+ <div style="font-size: 16px"><i class="el-icon-paperclip"></i></div>
+ <span>娣诲姞</span>
+ </div>
+ </div>
<div class="setFormat" @click="setFormatClick">璁剧疆鍏佽涓婁紶鐨勬枃浠舵牸寮�</div>
</div>
</el-form-item>
diff --git a/src/views/custom/customManage/index.vue b/src/views/custom/customManage/index.vue
index 629d3b7..83f429a 100644
--- a/src/views/custom/customManage/index.vue
+++ b/src/views/custom/customManage/index.vue
@@ -31,7 +31,7 @@
</div>
<TableCommonView ref="tableListRef" :table-list="tableList">
<template slot="tableButton">
- <el-table-column label="鎿嶄綔" width="120" fixed="right">
+ <el-table-column label="鎿嶄綔" width="150" fixed="right">
<template slot-scope="scope">
<el-button type="text" size="small">鍙樻洿鍏捣</el-button>
<el-button @click="handleClick(scope.row)" type="text" size="small">缂栬緫</el-button>
@@ -118,15 +118,15 @@
}
],
tableColumn: [
- { label: "瀹㈡埛鍚嶇О", prop: "customName", min: 190 }, // 瀹㈡埛鍚嶇О
- { label: "閿�鍞礋璐d汉", prop: "saleLeadOwner", min: 120 }, // 閿�鍞礋璐d汉
- { label: "閲嶈绾у埆", prop: "importantLevel", min: 120 }, // 閲嶈绾у埆
+ { label: "瀹㈡埛鍚嶇О", prop: "customName", min: 100 }, // 瀹㈡埛鍚嶇О
+ { label: "閿�鍞礋璐d汉", prop: "saleLeadOwner" }, // 閿�鍞礋璐d汉
+ { label: "閲嶈绾у埆", prop: "importantLevel" }, // 閲嶈绾у埆
{ label: "涓嬫鍥炶鏃ユ湡", prop: "notContactDay", min: 90 }, // 鏈仈绯讳汉澶╂暟
- { label: "鎵嬫満鍙风爜", prop: "nextFollowDate", min: 150 }, // 涓嬫鍥炶鏃ユ湡
- { label: "璇︾粏鍦板潃", prop: "detailAddress", min: 290 }, // 璇︾粏鍦板潃
- { label: "瀹㈡埛鐘舵��", prop: "customStatus", min: 100 }, // 瀹㈡埛鐘舵��
- { label: "鑱旂郴浜哄鍚�", prop: "contactName", min: 100 }, // 鑱旂郴浜哄鍚�
- { label: "鎵嬫満", prop: "phoneNumber", min: 100 } // 鎵嬫満鍙风爜
+ { label: "鎵嬫満鍙风爜", prop: "nextFollowDate" }, // 涓嬫鍥炶鏃ユ湡
+ { label: "璇︾粏鍦板潃", prop: "detailAddress", min: 200 }, // 璇︾粏鍦板潃
+ { label: "瀹㈡埛鐘舵��", prop: "customStatus" }, // 瀹㈡埛鐘舵��
+ { label: "鑱旂郴浜哄鍚�", prop: "contactName" }, // 鑱旂郴浜哄鍚�
+ { label: "鎵嬫満", prop: "phoneNumber" } // 鎵嬫満鍙风爜
]
}
this.searchOptions = []
diff --git a/src/views/custom/followupRecords/AddFollowupRecordsDialog.vue b/src/views/custom/followupRecords/AddFollowupRecordsDialog.vue
index c3a0965..dc48051 100644
--- a/src/views/custom/followupRecords/AddFollowupRecordsDialog.vue
+++ b/src/views/custom/followupRecords/AddFollowupRecordsDialog.vue
@@ -142,8 +142,21 @@
<el-row>
<el-col :span="12">
<el-form-item label="闄勪欢" prop="">
+ <template slot="label">
+ <div style="display: flex; float: right">
+ <div style="font-size: 16px">
+ <i class="el-icon-warning-outline" title="鏈�澶氫笂浼�20涓檮浠讹紝鏈�澶ч檺鍒�5MB"></i>
+ </div>
+ <span style="margin-left: 5px">闄勪欢</span>
+ </div>
+ </template>
<div class="annex-view">
- <div @click="addAnnexClick">娣诲姞</div>
+ <div @click="addAnnexClick">
+ <div style="display: flex; float: right">
+ <div style="font-size: 16px"><i class="el-icon-paperclip"></i></div>
+ <span>娣诲姞</span>
+ </div>
+ </div>
<div class="setFormat" @click="setFormatClick">璁剧疆鍏佽涓婁紶鐨勬枃浠舵牸寮�</div>
</div>
</el-form-item>
diff --git a/src/views/custom/salesLead/index.vue b/src/views/custom/salesLead/index.vue
index 8579098..5cbb5a0 100644
--- a/src/views/custom/salesLead/index.vue
+++ b/src/views/custom/salesLead/index.vue
@@ -38,11 +38,7 @@
TableCommonView,
AddSalesLeadDialog
},
- computed: {
- searchCommonHeight() {
- return this.$refs.searchCommonView.offsetHeight
- }
- },
+ computed: {},
data() {
return {
tableList: {},
diff --git a/src/views/sales/contractManage/AddContractManageDialog.vue b/src/views/sales/contractManage/AddContractManageDialog.vue
new file mode 100644
index 0000000..57a719b
--- /dev/null
+++ b/src/views/sales/contractManage/AddContractManageDialog.vue
@@ -0,0 +1,301 @@
+<template>
+ <div class="add-contract-manage">
+ <el-dialog
+ :title="editCommonConfig.title + '鍚堝悓绠$悊'"
+ :visible.sync="editConfig.visible"
+ :width="dialogWidth"
+ :before-close="handleClose"
+ >
+ <el-form
+ ref="form"
+ :model="editConfig.infomation"
+ :rules="rules"
+ label-position="right"
+ label-width="308px"
+ size="mini"
+ >
+ <!-- 淇℃伅 -->
+ <div class="basic-info">
+ <!-- 鍩烘湰淇℃伅 -->
+ <div class="basic-info-title">鍩烘湰淇℃伅</div>
+ <div class="basic-info-view">
+ <el-row>
+ <el-col :span="12">
+ <el-form-item label="瀹㈡埛鍚嶇О" prop="customName">
+ <div class="custom-name">
+ <el-input v-model="editConfig.infomation.customName"></el-input>
+ <div class="common-select-btn"><i class="el-icon-circle-plus-outline" title="閫夋嫨"></i></div>
+ <div class="common-select-btn"><i class="el-icon-edit" title="缂栬緫"></i></div>
+ </div>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鍗曟嵁缂栧彿" prop="documentNumber">
+ <el-input v-model="editConfig.infomation.documentNumber"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="璐熻矗浜�" prop="owner">
+ <el-select v-model="editConfig.infomation.owner" placeholder="璇烽�夋嫨" size="mini" style="width: 63%">
+ <el-option v-for="item in ownerOptions" :key="item.value" :label="item.label" :value="item.value">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鍚堝悓鐘舵��" prop="contractStatus">
+ <CommonSelectView
+ :common-value="editConfig.infomation.contractStatus"
+ :common-options="contractStatusOptions"
+ />
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="閿�鍞姤浠峰崟" prop="salesQuotation">
+ <div class="custom-name">
+ <el-input v-model="editConfig.infomation.salesQuotation"></el-input>
+ <div class="common-select-btn"><i class="el-icon-circle-plus-outline" title="閫夋嫨"></i></div>
+ <div class="common-select-btn"><i class="el-icon-edit" title="缂栬緫"></i></div>
+ </div>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </div>
+ <!-- 闄勪欢淇℃伅 -->
+ <div v-if="isUnflod" class="basic-info-title">闄勪欢淇℃伅</div>
+ <div class="basic-info-view">
+ <el-row>
+ <el-col :span="12">
+ <el-form-item label="闄勪欢" prop="">
+ <template slot="label">
+ <div style="display: flex; float: right">
+ <div style="font-size: 16px">
+ <i class="el-icon-warning-outline" title="鏈�澶氫笂浼�20涓檮浠讹紝鏈�澶ч檺鍒�5MB"></i>
+ </div>
+ <span style="margin-left: 5px">鍚堝悓鎵弿浠�</span>
+ </div>
+ </template>
+ <div class="annex-view">
+ <div @click="addAnnexClick">
+ <div style="display: flex; float: right">
+ <div style="font-size: 16px"><i class="el-icon-paperclip"></i></div>
+ <span>娣诲姞</span>
+ </div>
+ </div>
+ <div class="setFormat" @click="setFormatClick">璁剧疆鍏佽涓婁紶鐨勬枃浠舵牸寮�</div>
+ </div>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </div>
+ <!-- 灞曞紑鏀惰捣 -->
+ <div v-if="editConfig.title === '鏂板缓'" class="unflod-collapse" @click="unflodCollapseClick">
+ <div>{{ unflodCollapseStr }}</div>
+ <div v-if="isUnflod"><i class="el-icon-arrow-up"></i></div>
+ <div v-else><i class="el-icon-arrow-down"></i></div>
+ </div>
+ <!-- 閫夋嫨瀹℃壒娴佺▼ -->
+ <div class="basic-info-title">閫夋嫨瀹℃壒娴佺▼</div>
+ <div class="basic-info-view">
+ <el-row>
+ <el-col :span="20">
+ <el-form-item label="瀹℃壒娴佺▼" prop="approvalWorkflow">
+ <el-select
+ v-model="editConfig.infomation.approvalWorkflow"
+ placeholder="璇烽�夋嫨"
+ size="mini"
+ style="width: 100%"
+ >
+ <el-option
+ v-for="item in approvalWorkflowOptions"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="20">
+ <el-form-item label="瀹℃壒姝ラ" prop="approvalSteps">
+ <el-input v-model="editConfig.infomation.approvalSteps"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="20">
+ <el-form-item label="瀹℃壒浜�" prop="approvalPerson">
+ <el-input v-model="editConfig.infomation.approvalPerson"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="20">
+ <el-form-item label="瀹℃壒鎰忚" prop="approvalOpinion">
+ <el-input v-model="editConfig.infomation.approvalOpinion" type="textarea" :rows="2"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </div>
+ </div>
+ </el-form>
+ <div slot="footer" class="dialog-footer">
+ <el-button type="primary" size="small" @click="editConfig.visible = false">淇濆苟鎻愪氦瀹℃壒</el-button>
+ <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>
+import CommonSelectView from "@/components/makepager/CommonSelectView"
+export default {
+ name: "AddContractManageDialog",
+ props: {
+ editCommonConfig: {
+ type: Object,
+ default: () => {
+ return {
+ visible: false,
+ title: "鏂板缓",
+ infomation: {
+ customName: "",
+ documentNumber: "TKD20230521-12",
+ owner: "",
+ contractStatus: "",
+ salesQuotation: "",
+ approvalWorkflow: "",
+ approvalSteps: "",
+ approvalPerson: "",
+ approvalOpinion: ""
+ }
+ }
+ }
+ }
+ },
+ components: { CommonSelectView },
+ computed: {},
+ data() {
+ return {
+ dialogWidth: "80%",
+ editConfig: this.editCommonConfig,
+ rules: {
+ documentNumber: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
+ owner: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }]
+ },
+ ownerOptions: [
+ // 璐熻矗浜�
+ { value: "1", label: "BOSS" },
+ { value: "2", label: "Mia" },
+ { value: "3", label: "璐㈠姟" },
+ { value: "4", label: "甯傚満" },
+ { value: "5", label: "绯荤粺绠$悊鍛�" },
+ { value: "6", label: "閿�鍞�" },
+ { value: "7", label: "閿�鍞�荤洃" }
+ ],
+ contractStatusOptions: [
+ { value: "1", label: "寰呭鎵�" },
+ { value: "2", label: "瀹℃壒涓�" },
+ { value: "3", label: "宸插鎵�" },
+ { value: "4", label: "宸插綊妗�" }
+ ], // 鍚堝悓鐘舵��
+ approvalWorkflowOptions: [], // 瀹℃壒娴佺▼
+ unflodCollapseStr: "鏀惰捣",
+ isUnflod: true
+ }
+ },
+ created() {},
+ methods: {
+ handleClose() {
+ this.editConfig.visible = false
+ },
+ // 娣诲姞闄勪欢
+ addAnnexClick() {},
+ // 璁剧疆鍏佽涓婁紶鏂囦欢鏍煎紡
+ setFormatClick() {},
+ // 灞曞紑鏀惰捣
+ unflodCollapseClick() {
+ if (this.unflodCollapseStr === "鏀惰捣") {
+ this.unflodCollapseStr = "灞曞紑鏇村鏍忕洰"
+ this.isUnflod = false
+ } else {
+ this.unflodCollapseStr = "鏀惰捣"
+ this.isUnflod = true
+ }
+ }
+ }
+}
+</script>
+
+<!-- Add "scoped" attribute to limit CSS to this component only -->
+<style lang="scss" scoped>
+.add-contract-manage {
+ .basic-info {
+ .basic-info-title {
+ background-color: #f4f8fe;
+ padding-left: 10px;
+ font-size: 15px;
+ font-weight: bold;
+ color: #666;
+ height: 42px;
+ line-height: 42px;
+ }
+ .basic-info-view {
+ margin-top: 10px;
+ padding-right: 40px;
+ .custom-name {
+ display: flex;
+ .common-select-btn {
+ margin-left: 5px;
+ font-size: 18px;
+ }
+ }
+ }
+ .address-view {
+ margin-top: 10px;
+ padding-right: 40px;
+ }
+ .annex-view {
+ display: flex;
+ color: #6166d3;
+ .setFormat {
+ margin-left: 10px;
+ }
+ }
+ }
+ .unflod-collapse {
+ display: flex;
+ height: 30px;
+ justify-content: center;
+ align-items: center;
+ color: #6166d3;
+ }
+ .dialog-footer {
+ 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;
+ }
+ .product-view {
+ .el-form-item__label {
+ padding: 0;
+ }
+ }
+}
+</style>
diff --git a/src/views/sales/contractManage/index.vue b/src/views/sales/contractManage/index.vue
index 6e5af75..eae7b40 100644
--- a/src/views/sales/contractManage/index.vue
+++ b/src/views/sales/contractManage/index.vue
@@ -25,7 +25,7 @@
</template>
</TableCommonView>
<!-- 鏂板缓/缂栬緫 -->
- <AddSalesLeadDialog v-if="editConfig.visible" :edit-sales-lead-config="editConfig" />
+ <AddContractManageDialog v-if="editConfig.visible" :edit-common-config="editConfig" />
</div>
</template>
@@ -34,17 +34,17 @@
import PublicFunctionBtnView from "@/components/makepager/PublicFunctionBtnView"
import PagerView from "@/components/makepager/PagerView"
import TableCommonView from "@/components/makepager/TableCommonView"
-import AddSalesLeadDialog from "@/views/custom/salesLead/AddSalesLeadDialog"
+import AddContractManageDialog from "@/views/sales/contractManage/AddContractManageDialog"
export default {
- name: "ContractManage ",
+ name: "ContractManage",
props: {},
components: {
SearchCommonView,
PublicFunctionBtnView,
PagerView,
TableCommonView,
- AddSalesLeadDialog
+ AddContractManageDialog
},
computed: {
searchCommonHeight() {
@@ -59,8 +59,8 @@
{ value: "2", label: "宸叉壒鍑�" },
{ value: "3", label: "瀹℃壒涓�" },
{ value: "4", label: "鏈彁浜�" },
- { value: "3", label: "宸查┏鍥�" },
- { value: "4", label: "宸叉嫆缁�" }
+ { value: "5", label: "宸查┏鍥�" },
+ { value: "6", label: "宸叉嫆缁�" }
],
searchOptions: [],
operatesList: [
@@ -115,20 +115,14 @@
this.editConfig.title = "鏂板缓"
this.editConfig.infomation = {
customName: "",
- saleLeadNumber: "LEA50",
- contactName: "",
- contactDuties: "",
- phoneNumber: "",
- businessStatus: "鏂板缓",
- businessSource: "1",
+ documentNumber: "ZDYBD01-3",
owner: "",
- position: "",
- map: "",
- country: "1",
- province: "1",
- city: "1",
- region: "1",
- address: ""
+ contractStatus: "",
+ salesQuotation: "",
+ approvalWorkflow: "",
+ approvalSteps: "",
+ approvalPerson: "",
+ approvalOpinion: ""
}
},
// 缂栬緫
@@ -137,21 +131,15 @@
this.editConfig.visible = true
this.editConfig.title = "缂栬緫"
this.editConfig.infomation = {
- customName: row.customName,
- saleLeadNumber: row.saleLeadNumber,
- contactName: row.contactName,
- contactDuties: row.contactDuties,
- phoneNumber: row.phoneNumber,
- businessStatus: "鏂板缓",
- businessSource: row.businessSource,
- owner: row.owner,
- position: "",
- map: "",
- country: "1",
- province: "1",
- city: "1",
- region: "1",
- address: ""
+ customName: "",
+ documentNumber: "TKD20230521-12",
+ owner: "",
+ contractStatus: "",
+ salesQuotation: "",
+ approvalWorkflow: "",
+ approvalSteps: "",
+ approvalPerson: "",
+ approvalOpinion: ""
}
}
}
diff --git a/src/views/sales/generatePlan/AddGeneratePlanDialog.vue b/src/views/sales/generatePlan/AddGeneratePlanDialog.vue
new file mode 100644
index 0000000..573207a
--- /dev/null
+++ b/src/views/sales/generatePlan/AddGeneratePlanDialog.vue
@@ -0,0 +1,279 @@
+<template>
+ <div class="add-generate-plan">
+ <el-dialog
+ :title="editCommonConfig.title + '鐢熸垚璁″垝'"
+ :visible.sync="editConfig.visible"
+ :width="dialogWidth"
+ :before-close="handleClose"
+ >
+ <el-form
+ ref="form"
+ :model="editConfig.infomation"
+ :rules="rules"
+ label-position="right"
+ label-width="308px"
+ size="mini"
+ >
+ <!-- 淇℃伅 -->
+ <div class="basic-info">
+ <!-- 鍩烘湰淇℃伅 -->
+ <div class="basic-info-title">鍩烘湰淇℃伅</div>
+ <div class="basic-info-view">
+ <el-row>
+ <el-col v-if="isUnflod" :span="12">
+ <el-form-item label="瀹㈡埛鍚嶇О" prop="customName">
+ <div class="custom-name">
+ <el-input v-model="editConfig.infomation.customName"></el-input>
+ <div class="common-select-btn"><i class="el-icon-circle-plus-outline" title="閫夋嫨"></i></div>
+ <div class="common-select-btn"><i class="el-icon-edit" title="缂栬緫"></i></div>
+ </div>
+ </el-form-item>
+ </el-col>
+ <el-col v-if="isUnflod" :span="12">
+ <el-form-item label="鍗曟嵁缂栧彿" prop="documentNumber">
+ <el-input v-model="editConfig.infomation.documentNumber"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col v-if="isUnflod" :span="12">
+ <el-form-item label="璐熻矗浜�" prop="owner">
+ <el-select v-model="editConfig.infomation.owner" placeholder="璇烽�夋嫨" size="mini" style="width: 63%">
+ <el-option v-for="item in ownerOptions" :key="item.value" :label="item.label" :value="item.value">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="閿�鍞瓙鍗�" prop="subOrder">
+ <div class="custom-name">
+ <el-input v-model="editConfig.infomation.subOrder"></el-input>
+ <div class="common-select-btn"><i class="el-icon-circle-plus-outline" title="閫夋嫨"></i></div>
+ <div class="common-select-btn"><i class="el-icon-edit" title="缂栬緫"></i></div>
+ </div>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="閿�鍞槑缁嗗崟" prop="salesDetails">
+ <div class="custom-name">
+ <el-input v-model="editConfig.infomation.salesDetails"></el-input>
+ <div class="common-select-btn"><i class="el-icon-circle-plus-outline" title="閫夋嫨"></i></div>
+ <div class="common-select-btn"><i class="el-icon-edit" title="缂栬緫"></i></div>
+ </div>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </div>
+ <!-- 璁″垝鐩稿叧 -->
+ <div v-if="isUnflod" class="basic-info-title">璁″垝鐩稿叧</div>
+ <div class="address-view">
+ <el-row>
+ <el-col :span="12">
+ <el-form-item label="璁″垝寮�濮嬫椂闂�" prop="planStartTime">
+ <el-date-picker v-model="editConfig.infomation.planStartTime" type="datetime" default-time="12:00:00">
+ </el-date-picker>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="璁″垝鎴鏃堕棿" prop="planDeadline">
+ <el-date-picker v-model="editConfig.infomation.planDeadline" type="datetime" default-time="12:00:00">
+ </el-date-picker>
+ </el-form-item>
+ </el-col>
+ <el-col :span="24">
+ <el-form-item label="璁″垝鍐呭" prop="refundReason">
+ <el-input
+ type="textarea"
+ :autosize="{ minRows: 2 }"
+ v-model="editConfig.infomation.refundReason"
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </div>
+ <!-- 闄勪欢淇℃伅 -->
+ <div v-if="isUnflod" class="basic-info-title">闄勪欢淇℃伅</div>
+ <div v-if="isUnflod" class="basic-info-view">
+ <el-row>
+ <el-col :span="12">
+ <el-form-item label="闄勪欢" prop="">
+ <template slot="label">
+ <div style="display: flex; float: right">
+ <div style="font-size: 16px">
+ <i class="el-icon-warning-outline" title="鏈�澶氫笂浼�20涓檮浠讹紝鏈�澶ч檺鍒�5MB"></i>
+ </div>
+ <span style="margin-left: 5px">闄勪欢</span>
+ </div>
+ </template>
+ <div class="annex-view">
+ <div @click="addAnnexClick">
+ <div style="display: flex; float: right">
+ <div style="font-size: 16px"><i class="el-icon-paperclip"></i></div>
+ <span>娣诲姞</span>
+ </div>
+ </div>
+ <div class="setFormat" @click="setFormatClick">璁剧疆鍏佽涓婁紶鐨勬枃浠舵牸寮�</div>
+ </div>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </div>
+ <!-- 灞曞紑鏀惰捣 -->
+ <div v-if="editConfig.title === '鏂板缓'" class="unflod-collapse" @click="unflodCollapseClick">
+ <div>{{ unflodCollapseStr }}</div>
+ <div v-if="isUnflod"><i class="el-icon-arrow-up"></i></div>
+ <div v-else><i class="el-icon-arrow-down"></i></div>
+ </div>
+ </div>
+ </el-form>
+ <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: "AddGeneratePlanDialog",
+ props: {
+ editCommonConfig: {
+ type: Object,
+ default: () => {
+ return {
+ visible: false,
+ title: "鏂板缓",
+ infomation: {
+ customName: "",
+ documentNumber: "",
+ owner: "",
+ subOrder: "",
+ salesDetails: "",
+ planStartTime: "",
+ planDeadline: ""
+ }
+ }
+ }
+ }
+ },
+ components: {},
+ computed: {},
+ data() {
+ return {
+ dialogWidth: "80%",
+ editConfig: this.editCommonConfig,
+ rules: {
+ documentNumber: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
+ owner: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }]
+ },
+ ownerOptions: [
+ // 璐熻矗浜�
+ { value: "1", label: "BOSS" },
+ { value: "2", label: "Mia" },
+ { value: "3", label: "璐㈠姟" },
+ { value: "4", label: "甯傚満" },
+ { value: "5", label: "绯荤粺绠$悊鍛�" },
+ { value: "6", label: "閿�鍞�" },
+ { value: "7", label: "閿�鍞�荤洃" }
+ ],
+ unflodCollapseStr: "鏀惰捣",
+ isUnflod: true
+ }
+ },
+ created() {},
+ methods: {
+ handleClose() {
+ this.editConfig.visible = false
+ },
+ // 娣诲姞闄勪欢
+ addAnnexClick() {},
+ // 璁剧疆鍏佽涓婁紶鏂囦欢鏍煎紡
+ setFormatClick() {},
+ // 灞曞紑鏀惰捣
+ unflodCollapseClick() {
+ if (this.unflodCollapseStr === "鏀惰捣") {
+ this.unflodCollapseStr = "灞曞紑鏇村鏍忕洰"
+ this.isUnflod = false
+ } else {
+ this.unflodCollapseStr = "鏀惰捣"
+ this.isUnflod = true
+ }
+ }
+ }
+}
+</script>
+
+<!-- Add "scoped" attribute to limit CSS to this component only -->
+<style lang="scss" scoped>
+.add-generate-plan {
+ .basic-info {
+ .basic-info-title {
+ background-color: #f4f8fe;
+ padding-left: 10px;
+ font-size: 15px;
+ font-weight: bold;
+ color: #666;
+ height: 42px;
+ line-height: 42px;
+ }
+ .basic-info-view {
+ margin-top: 10px;
+ padding-right: 40px;
+ .custom-name {
+ display: flex;
+ .common-select-btn {
+ margin-left: 5px;
+ font-size: 18px;
+ }
+ }
+ }
+ .address-view {
+ margin-top: 10px;
+ padding-right: 40px;
+ }
+ .annex-view {
+ display: flex;
+ color: #6166d3;
+ .setFormat {
+ margin-left: 10px;
+ }
+ }
+ }
+ .unflod-collapse {
+ display: flex;
+ height: 30px;
+ justify-content: center;
+ align-items: center;
+ color: #6166d3;
+ }
+ .dialog-footer {
+ 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;
+ }
+ .product-view {
+ .el-form-item__label {
+ padding: 0;
+ }
+ }
+}
+</style>
diff --git a/src/views/sales/productPlan/index.vue b/src/views/sales/generatePlan/index.vue
similarity index 76%
rename from src/views/sales/productPlan/index.vue
rename to src/views/sales/generatePlan/index.vue
index 4b9f479..5ed0740 100644
--- a/src/views/sales/productPlan/index.vue
+++ b/src/views/sales/generatePlan/index.vue
@@ -1,5 +1,5 @@
<template>
- <div class="product-plan">
+ <div class="generate-plan">
<SearchCommonView ref="searchCommonView" :query-class-options="queryClassOptions" :search-options="searchOptions" />
<div class="btn-pager">
<PublicFunctionBtnView :operates-list="operatesList" />
@@ -15,7 +15,7 @@
</template>
</TableCommonView>
<!-- 鏂板缓/缂栬緫-->
- <AddSalesLeadDialog v-if="editConfig.visible" :edit-sales-lead-config="editConfig" />
+ <AddGeneratePlanDialog v-if="editConfig.visible" :edit-common-config="editConfig" />
</div>
</template>
@@ -24,17 +24,17 @@
import PublicFunctionBtnView from "@/components/makepager/PublicFunctionBtnView"
import PagerView from "@/components/makepager/PagerView"
import TableCommonView from "@/components/makepager/TableCommonView"
-import AddSalesLeadDialog from "@/views/custom/salesLead/AddSalesLeadDialog"
+import AddGeneratePlanDialog from "@/views/sales/generatePlan/AddGeneratePlanDialog"
export default {
- name: "ProductPlan ",
+ name: "GeneratePlan",
props: {},
components: {
SearchCommonView,
PublicFunctionBtnView,
PagerView,
TableCommonView,
- AddSalesLeadDialog
+ AddGeneratePlanDialog
},
computed: {
searchCommonHeight() {
@@ -49,8 +49,8 @@
{ value: "2", label: "宸叉壒鍑�" },
{ value: "3", label: "瀹℃壒涓�" },
{ value: "4", label: "鏈彁浜�" },
- { value: "3", label: "宸查┏鍥�" },
- { value: "4", label: "宸叉嫆缁�" }
+ { value: "5", label: "宸查┏鍥�" },
+ { value: "6", label: "宸叉嫆缁�" }
],
searchOptions: [],
operatesList: [
@@ -105,20 +105,16 @@
this.editConfig.title = "鏂板缓"
this.editConfig.infomation = {
customName: "",
- saleLeadNumber: "LEA50",
- contactName: "",
- contactDuties: "",
- phoneNumber: "",
- businessStatus: "鏂板缓",
- businessSource: "1",
+ documentNumber: "ZDYBD04-12",
owner: "",
- position: "",
- map: "",
- country: "1",
- province: "1",
- city: "1",
- region: "1",
- address: ""
+ subOrder: "",
+ salesDetails: "",
+ planStartTime: "",
+ planDeadline: "",
+ approvalWorkflow: "",
+ approvalSteps: "",
+ approvalPerson: "",
+ approvalOpinion: ""
}
},
// 缂栬緫
@@ -127,21 +123,17 @@
this.editConfig.visible = true
this.editConfig.title = "缂栬緫"
this.editConfig.infomation = {
- customName: row.customName,
- saleLeadNumber: row.saleLeadNumber,
- contactName: row.contactName,
- contactDuties: row.contactDuties,
- phoneNumber: row.phoneNumber,
- businessStatus: "鏂板缓",
- businessSource: row.businessSource,
- owner: row.owner,
- position: "",
- map: "",
- country: "1",
- province: "1",
- city: "1",
- region: "1",
- address: ""
+ customName: "",
+ documentNumber: "",
+ owner: "",
+ subOrder: "",
+ salesDetails: "",
+ planStartTime: "",
+ planDeadline: "",
+ approvalWorkflow: "",
+ approvalSteps: "",
+ approvalPerson: "",
+ approvalOpinion: ""
}
}
}
@@ -150,7 +142,7 @@
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style lang="scss" scoped>
-.product-plan {
+.generate-plan {
.btn-pager {
display: flex;
.page {
diff --git a/src/views/sales/masterOrder/AddMasterOrderDialog.vue b/src/views/sales/masterOrder/AddMasterOrderDialog.vue
index 236c0f3..307d059 100644
--- a/src/views/sales/masterOrder/AddMasterOrderDialog.vue
+++ b/src/views/sales/masterOrder/AddMasterOrderDialog.vue
@@ -67,8 +67,21 @@
<el-row>
<el-col :span="12">
<el-form-item label="闄勪欢" prop="">
+ <template slot="label">
+ <div style="display: flex; float: right">
+ <div style="font-size: 16px">
+ <i class="el-icon-warning-outline" title="鏈�澶氫笂浼�20涓檮浠讹紝鏈�澶ч檺鍒�5MB"></i>
+ </div>
+ <span style="margin-left: 5px">闄勪欢</span>
+ </div>
+ </template>
<div class="annex-view">
- <div @click="addAnnexClick">娣诲姞</div>
+ <div @click="addAnnexClick">
+ <div style="display: flex; float: right">
+ <div style="font-size: 16px"><i class="el-icon-paperclip"></i></div>
+ <span>娣诲姞</span>
+ </div>
+ </div>
<div class="setFormat" @click="setFormatClick">璁剧疆鍏佽涓婁紶鐨勬枃浠舵牸寮�</div>
</div>
</el-form-item>
diff --git a/src/views/sales/quotation/AddQuotationDialog.vue b/src/views/sales/quotation/AddQuotationDialog.vue
index 210e329..37c0246 100644
--- a/src/views/sales/quotation/AddQuotationDialog.vue
+++ b/src/views/sales/quotation/AddQuotationDialog.vue
@@ -108,8 +108,21 @@
<el-row>
<el-col :span="12">
<el-form-item label="闄勪欢" prop="">
+ <template slot="label">
+ <div style="display: flex; float: right">
+ <div style="font-size: 16px">
+ <i class="el-icon-warning-outline" title="鏈�澶氫笂浼�20涓檮浠讹紝鏈�澶ч檺鍒�5MB"></i>
+ </div>
+ <span style="margin-left: 5px">闄勪欢</span>
+ </div>
+ </template>
<div class="annex-view">
- <div @click="addAnnexClick">娣诲姞</div>
+ <div @click="addAnnexClick">
+ <div style="display: flex; float: right">
+ <div style="font-size: 16px"><i class="el-icon-paperclip"></i></div>
+ <span>娣诲姞</span>
+ </div>
+ </div>
<div class="setFormat" @click="setFormatClick">璁剧疆鍏佽涓婁紶鐨勬枃浠舵牸寮�</div>
</div>
</el-form-item>
@@ -128,7 +141,7 @@
</div>
</div>
<div class="product-view">
- <CommonFormTableView :product-table-list="productTableList" />
+ <CommonFormTableView :show-summary="showSummary" :product-table-list="productTableList" />
</div>
<!-- 閫夋嫨瀹℃壒娴佺▼ -->
<div class="basic-info-title">閫夋嫨瀹℃壒娴佺▼</div>
@@ -244,22 +257,18 @@
{ value: "3", label: "娆у厓(鈧�)" }
], // 甯佺
approvalWorkflowOptions: [], // 瀹℃壒娴佺▼
- productTableList: {
- tableData: [
- {
- id: "1",
- productNumber: "123",
- productName: "",
- startDate: "",
- endDate: "2016-05-02",
- number: "",
- address: ""
- }
- ]
+ productTableList: {},
+ showSummary: {
+ show: true,
+ total: true,
+ sumProp: ["other1", "other2", "other3", "other4"],
+ mergeNumber: 3
}
}
},
- created() {},
+ created() {
+ this.setTableForm()
+ },
methods: {
handleClose() {
this.editConfig.visible = false
@@ -267,7 +276,39 @@
// 娣诲姞闄勪欢
addAnnexClick() {},
// 璁剧疆鍏佽涓婁紶鏂囦欢鏍煎紡
- setFormatClick() {}
+ setFormatClick() {},
+ setTableForm() {
+ this.productTableList = {
+ tableData: [
+ {
+ id: "1",
+ productName: "涓婃捣鏈夐檺鍏徃",
+ other0: "ZDYBD03-1",
+ other1: "12",
+ other2: "5.00",
+ other4: "3.00",
+ other3: "2.00"
+ }
+ ],
+ tableColumn: [
+ { label: "#", prop: "id", width: 40 },
+ { label: "鍚◣鍗曚环", prop: "other9", input: true },
+ { label: "浜у搧鍚嶇О", prop: "productName", input: true, isRequird: true },
+ { label: "浜у搧缂栧彿", prop: "other0" },
+ { label: "鏁伴噺", prop: "other1", input: true, isRequird: true },
+ { label: "鎶樻墸鐜�(%)", prop: "other6", input: true },
+ { label: "涓嶅惈绋庡崟浠�", prop: "other7", input: true },
+ { label: "鎶樻墸棰�", prop: "other2" },
+ { label: "绋�(閿�鍞�)", prop: "other7", input: true },
+ { label: "瀹為檯鍚◣鍗曚环", prop: "other3" },
+ { label: "涓嶅惈绋庨噾棰�", prop: "other4" },
+ { label: "浠风◣鍚堣", prop: "other3", input: true },
+ { label: "鎻忚堪", prop: "other8" },
+ { label: "婧愬崟绫诲瀷", prop: "other5" },
+ { label: "婧愬崟", prop: "other6" }
+ ]
+ }
+ }
}
}
</script>
diff --git a/src/views/sales/refundForm/AddRefundFormDialog.vue b/src/views/sales/refundForm/AddRefundFormDialog.vue
new file mode 100644
index 0000000..7b4587d
--- /dev/null
+++ b/src/views/sales/refundForm/AddRefundFormDialog.vue
@@ -0,0 +1,408 @@
+<template>
+ <div class="add-refund-form">
+ <el-dialog
+ :title="editCommonConfig.title + '閿�鍞��娆惧崟'"
+ :visible.sync="editConfig.visible"
+ :width="dialogWidth"
+ :before-close="handleClose"
+ >
+ <el-form
+ ref="form"
+ :model="editConfig.infomation"
+ :rules="rules"
+ label-position="right"
+ label-width="308px"
+ size="mini"
+ style="height: 60vh; overflow-x: hidden"
+ >
+ <!-- 淇℃伅 -->
+ <div class="basic-info">
+ <!-- 鍩烘湰淇℃伅 -->
+ <div class="basic-info-title">鍩烘湰淇℃伅</div>
+ <div class="basic-info-view">
+ <el-row>
+ <el-col :span="12">
+ <el-form-item label="瀹㈡埛鍚嶇О" prop="customName">
+ <div class="custom-name">
+ <el-input v-model="editConfig.infomation.customName"></el-input>
+ <div class="common-select-btn"><i class="el-icon-circle-plus-outline" title="閫夋嫨"></i></div>
+ <div class="common-select-btn"><i class="el-icon-edit" title="缂栬緫"></i></div>
+ </div>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="閫�娆惧崟缂栧彿" prop="refundOrderNo">
+ <el-input v-model="editConfig.infomation.refundOrderNo"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="閫夋嫨婧愬崟" prop="selSourceOrder">
+ <el-select v-model="editConfig.infomation.selSourceOrder" size="mini" style="width: 63%">
+ <el-option
+ v-for="item in selSourceOrderOptions"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="閿�鍞礋璐d汉" prop="salesHead">
+ <el-select
+ v-model="editConfig.infomation.salesHead"
+ placeholder="璇烽�夋嫨"
+ size="mini"
+ style="width: 63%"
+ >
+ <el-option
+ v-for="item in salesHeadOptions"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="閫�娆炬棩鏈�" prop="refundDate">
+ <el-date-picker v-model="editConfig.infomation.refundDate" type="date" placeholder="閫夋嫨鏃ユ湡">
+ </el-date-picker>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="浠樻鏂瑰紡" prop="paymentMethod">
+ <CommonSelectView
+ :common-value="editConfig.infomation.paymentMethod"
+ :common-options="paymentMethodOptions"
+ />
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="璐︽埛" prop="account">
+ <CommonSelectView :common-value="editConfig.infomation.account" :common-options="accountOptions" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鏄惁寮�绁�" prop="whetherInvoicing">
+ <CommonSelectView
+ :common-value="editConfig.infomation.whetherInvoicing"
+ :common-options="whetherInvoicingOptions"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </div>
+ <!-- 澶囨敞淇℃伅 -->
+ <div class="basic-info-title">澶囨敞淇℃伅</div>
+ <div class="address-view">
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="閫�娆惧師鍥�" prop="refundReason">
+ <el-input
+ type="textarea"
+ :autosize="{ minRows: 2 }"
+ v-model="editConfig.infomation.refundReason"
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </div>
+ <!-- 闄勪欢淇℃伅 -->
+ <div class="basic-info-title">闄勪欢淇℃伅</div>
+ <div class="basic-info-view">
+ <el-row>
+ <el-col :span="12">
+ <el-form-item label="闄勪欢" prop="">
+ <template slot="label">
+ <div style="display: flex; float: right">
+ <div style="font-size: 16px">
+ <i class="el-icon-warning-outline" title="鏈�澶氫笂浼�20涓檮浠讹紝鏈�澶ч檺鍒�5MB"></i>
+ </div>
+ <span style="margin-left: 5px">闄勪欢</span>
+ </div>
+ </template>
+ <div class="annex-view">
+ <div @click="addAnnexClick">
+ <div style="display: flex; float: right">
+ <div style="font-size: 16px"><i class="el-icon-paperclip"></i></div>
+ <span>娣诲姞</span>
+ </div>
+ </div>
+ <div class="setFormat" @click="setFormatClick">璁剧疆鍏佽涓婁紶鐨勬枃浠舵牸寮�</div>
+ </div>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </div>
+ <!-- 浜у搧绠$悊 -->
+ <div class="basic-info-title" style="display: flex">
+ 浜у搧绠$悊
+ <div style="margin-left: 400px">
+ 甯佺
+ <el-select v-model="editConfig.infomation.currency" placeholder="璇烽�夋嫨" size="mini" style="width: 63%">
+ <el-option v-for="item in currencyOptions" :key="item.value" :label="item.label" :value="item.value">
+ </el-option>
+ </el-select>
+ </div>
+ </div>
+ <div class="product-view">
+ <CommonFormTableView :show-summary="showSummary" :product-table-list="productTableList" />
+ </div>
+ <!-- 閫夋嫨瀹℃壒娴佺▼ -->
+ <div v-if="editConfig.title === '鏂板缓'" class="basic-info-title">閫夋嫨瀹℃壒娴佺▼</div>
+ <div v-if="editConfig.title === '鏂板缓'" class="basic-info-view">
+ <el-row>
+ <el-col :span="20">
+ <el-form-item label="瀹℃壒娴佺▼" prop="approvalWorkflow">
+ <el-select
+ v-model="editConfig.infomation.approvalWorkflow"
+ placeholder="璇烽�夋嫨"
+ size="mini"
+ style="width: 100%"
+ >
+ <el-option
+ v-for="item in approvalWorkflowOptions"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="20">
+ <el-form-item label="瀹℃壒姝ラ" prop="approvalSteps">
+ <el-input v-model="editConfig.infomation.approvalSteps"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="20">
+ <el-form-item label="瀹℃壒浜�" prop="approvalPerson">
+ <el-input v-model="editConfig.infomation.approvalPerson"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="20">
+ <el-form-item label="瀹℃壒鎰忚" prop="approvalOpinion">
+ <el-input v-model="editConfig.infomation.approvalOpinion" type="textarea" :rows="2"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </div>
+ </div>
+ </el-form>
+ <div slot="footer" class="dialog-footer">
+ <el-button type="primary" size="small" @click="editConfig.visible = false">淇濆苟鎻愪氦瀹℃壒</el-button>
+ <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>
+import CommonSelectView from "@/components/makepager/CommonSelectView"
+import CommonFormTableView from "@/components/makepager/CommonFormTableView"
+export default {
+ name: "AddRefundFormDialog",
+ props: {
+ editCommonConfig: {
+ type: Object,
+ default: () => {
+ return {
+ visible: false,
+ title: "鏂板缓",
+ infomation: {
+ customName: "",
+ refundOrderNo: "TKD20230521-12",
+ selSourceOrder: "",
+ salesHead: "",
+ refundDate: "",
+ paymentMethod: "",
+ account: "",
+ whetherInvoicing: "",
+ refundReason: "",
+ approvalWorkflow: "",
+ approvalSteps: "",
+ approvalPerson: "",
+ approvalOpinion: ""
+ }
+ }
+ }
+ }
+ },
+ components: { CommonSelectView, CommonFormTableView },
+ computed: {},
+ data() {
+ return {
+ dialogWidth: "80%",
+ editConfig: this.editCommonConfig,
+ rules: {
+ customName: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
+ refundOrderNo: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
+ refundDate: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
+ salesHead: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
+ account: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }]
+ },
+ salesHeadOptions: [
+ // 閿�鍞礋璐d汉
+ { value: "1", label: "BOSS" },
+ { value: "2", label: "Mia" },
+ { value: "3", label: "璐㈠姟" },
+ { value: "4", label: "甯傚満" },
+ { value: "5", label: "绯荤粺绠$悊鍛�" },
+ { value: "6", label: "閿�鍞�" },
+ { value: "7", label: "閿�鍞�荤洃" }
+ ],
+ selSourceOrderOptions: [{ value: "1", label: "閿�鍞��璐у崟" }], // 閫夋嫨婧愬崟
+ paymentMethodOptions: [
+ { value: "1", label: "鐜伴噾" },
+ { value: "2", label: "鏀エ" },
+ { value: "3", label: "鐢垫眹" },
+ { value: "4", label: "閭斂姹囨" },
+ { value: "5", label: "缃戜笂閾惰" },
+ { value: "6", label: "鍏朵粬" }
+ ], // 浠樻鏂瑰紡
+ accountOptions: [{ value: "1", label: "浜烘皯甯佽处鎴�" }], // 璐︽埛
+ whetherInvoicingOptions: [
+ { value: "1", label: "鏈紑" },
+ { value: "2", label: "宸插紑" }
+ ], // 鏄惁寮�绁�
+ currencyOptions: [
+ { value: "1", label: "浜烘皯甯�(楼)" },
+ { value: "2", label: "鑻遍晳(拢)" },
+ { value: "3", label: "娆у厓(鈧�)" }
+ ], // 甯佺
+ approvalWorkflowOptions: [], // 瀹℃壒娴佺▼
+ productTableList: {},
+ showSummary: {
+ show: true,
+ total: true,
+ sumProp: ["other1", "other2", "other3", "other4"],
+ mergeNumber: 5
+ }
+ }
+ },
+ created() {
+ this.setTableForm()
+ },
+ methods: {
+ setTableForm() {
+ this.productTableList = {
+ tableData: [
+ {
+ id: "1",
+ productName: "涓婃捣鏈夐檺鍏徃",
+ other0: "ZDYBD03-1",
+ other1: "12",
+ other2: "5.00",
+ other4: "3.00",
+ other3: "2.00"
+ }
+ ],
+ tableColumn: [
+ { label: "#", prop: "id", width: 40 },
+ { label: "浜у搧鍚嶇О", prop: "productName", input: true, isRequird: true },
+ { label: "浜у搧缂栧彿", prop: "other0" },
+ { label: "婧愬崟绫诲瀷", prop: "other5" },
+ { label: "婧愬崟", prop: "other6" },
+ { label: "鏁伴噺", prop: "other1", input: true, isRequird: true },
+ { label: "鍚◣鍗曚环", prop: "other9", input: true },
+ { label: "涓嶅惈绋庡崟浠�", prop: "other7", input: true },
+ { label: "鎶樻墸鐜�(%)", prop: "other6", input: true },
+ { label: "鎶樻墸棰�", prop: "other2" },
+ { label: "绋�(閿�鍞�)", prop: "other7", input: true },
+ { label: "瀹為檯鍚◣鍗曚环", prop: "other3" },
+ { label: "涓嶅惈绋庨噾棰�", prop: "other4" },
+ { label: "浠风◣鍚堣", prop: "other3", input: true },
+ { label: "鎻忚堪", prop: "other8" }
+ ]
+ }
+ },
+ handleClose() {
+ this.editConfig.visible = false
+ },
+ // 娣诲姞闄勪欢
+ addAnnexClick() {},
+ // 璁剧疆鍏佽涓婁紶鏂囦欢鏍煎紡
+ setFormatClick() {}
+ }
+}
+</script>
+
+<!-- Add "scoped" attribute to limit CSS to this component only -->
+<style lang="scss" scoped>
+.add-refund-form {
+ .basic-info {
+ .basic-info-title {
+ background-color: #f4f8fe;
+ padding-left: 10px;
+ font-size: 15px;
+ font-weight: bold;
+ color: #666;
+ height: 42px;
+ line-height: 42px;
+ }
+ .basic-info-view {
+ margin-top: 10px;
+ padding-right: 40px;
+ .custom-name {
+ display: flex;
+ .common-select-btn {
+ margin-left: 5px;
+ font-size: 18px;
+ }
+ }
+ }
+ .address-view {
+ margin-top: 10px;
+ padding-right: 40px;
+ }
+ .annex-view {
+ display: flex;
+ color: #6166d3;
+ .setFormat {
+ margin-left: 10px;
+ }
+ }
+ }
+ .unflod-collapse {
+ display: flex;
+ height: 30px;
+ justify-content: center;
+ align-items: center;
+ color: #6166d3;
+ }
+ .dialog-footer {
+ 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;
+ }
+ .product-view {
+ .el-form-item__label {
+ padding: 0;
+ }
+ }
+}
+</style>
diff --git a/src/views/sales/refundForm/index.vue b/src/views/sales/refundForm/index.vue
index 724699f..14ecec0 100644
--- a/src/views/sales/refundForm/index.vue
+++ b/src/views/sales/refundForm/index.vue
@@ -15,7 +15,7 @@
</template>
</TableCommonView>
<!-- 鏂板缓/缂栬緫 -->
- <AddSalesLeadDialog v-if="editConfig.visible" :edit-sales-lead-config="editConfig" />
+ <AddRefundFormDialog v-if="editConfig.visible" :edit-common-config="editConfig" />
</div>
</template>
@@ -24,7 +24,7 @@
import PublicFunctionBtnView from "@/components/makepager/PublicFunctionBtnView"
import PagerView from "@/components/makepager/PagerView"
import TableCommonView from "@/components/makepager/TableCommonView"
-import AddSalesLeadDialog from "@/views/custom/salesLead/AddSalesLeadDialog"
+import AddRefundFormDialog from "@/views/sales/refundForm/AddRefundFormDialog"
export default {
name: "RefundForm",
@@ -34,7 +34,7 @@
PublicFunctionBtnView,
PagerView,
TableCommonView,
- AddSalesLeadDialog
+ AddRefundFormDialog
},
computed: {
searchCommonHeight() {
@@ -111,20 +111,18 @@
this.editConfig.title = "鏂板缓"
this.editConfig.infomation = {
customName: "",
- saleLeadNumber: "LEA50",
- contactName: "",
- contactDuties: "",
- phoneNumber: "",
- businessStatus: "鏂板缓",
- businessSource: "1",
- owner: "",
- position: "",
- map: "",
- country: "1",
- province: "1",
- city: "1",
- region: "1",
- address: ""
+ refundOrderNo: "TKD20230521-12",
+ selSourceOrder: "1",
+ salesHead: "5",
+ refundDate: "",
+ paymentMethod: "1",
+ account: "1",
+ whetherInvoicing: "1",
+ refundReason: "",
+ approvalWorkflow: "",
+ approvalSteps: "",
+ approvalPerson: "",
+ approvalOpinion: ""
}
},
// 缂栬緫
@@ -133,21 +131,19 @@
this.editConfig.visible = true
this.editConfig.title = "缂栬緫"
this.editConfig.infomation = {
- customName: row.customName,
- saleLeadNumber: row.saleLeadNumber,
- contactName: row.contactName,
- contactDuties: row.contactDuties,
- phoneNumber: row.phoneNumber,
- businessStatus: "鏂板缓",
- businessSource: row.businessSource,
- owner: row.owner,
- position: "",
- map: "",
- country: "1",
- province: "1",
- city: "1",
- region: "1",
- address: ""
+ customName: "",
+ refundOrderNo: "TKD20230521-12",
+ selSourceOrder: "",
+ salesHead: "",
+ refundDate: "",
+ paymentMethod: "",
+ account: "",
+ whetherInvoicing: "",
+ refundReason: "",
+ approvalWorkflow: "",
+ approvalSteps: "",
+ approvalPerson: "",
+ approvalOpinion: ""
}
}
}
diff --git a/src/views/sales/salesDetails/AddSalesDetailsDialog.vue b/src/views/sales/salesDetails/AddSalesDetailsDialog.vue
index a79366c..90bc152 100644
--- a/src/views/sales/salesDetails/AddSalesDetailsDialog.vue
+++ b/src/views/sales/salesDetails/AddSalesDetailsDialog.vue
@@ -154,8 +154,21 @@
<el-row>
<el-col :span="12">
<el-form-item label="闄勪欢" prop="">
+ <template slot="label">
+ <div style="display: flex; float: right">
+ <div style="font-size: 16px">
+ <i class="el-icon-warning-outline" title="鏈�澶氫笂浼�20涓檮浠讹紝鏈�澶ч檺鍒�5MB"></i>
+ </div>
+ <span style="margin-left: 5px">闄勪欢</span>
+ </div>
+ </template>
<div class="annex-view">
- <div @click="addAnnexClick">娣诲姞</div>
+ <div @click="addAnnexClick">
+ <div style="display: flex; float: right">
+ <div style="font-size: 16px"><i class="el-icon-paperclip"></i></div>
+ <span>娣诲姞</span>
+ </div>
+ </div>
<div class="setFormat" @click="setFormatClick">璁剧疆鍏佽涓婁紶鐨勬枃浠舵牸寮�</div>
</div>
</el-form-item>
@@ -174,7 +187,7 @@
</div>
</div>
<div class="product-view">
- <CommonFormTableView :product-table-list="productTableList" />
+ <CommonFormTableView :show-summary="showSummary" :product-table-list="productTableList" />
</div>
<!-- 閫夋嫨瀹℃壒娴佺▼ -->
<div v-if="editConfig.title === '鏂板缓'" class="basic-info-title">閫夋嫨瀹℃壒娴佺▼</div>
@@ -299,23 +312,45 @@
{ value: "3", label: "娆у厓(鈧�)" }
], // 甯佺
approvalWorkflowOptions: [], // 瀹℃壒娴佺▼
- productTableList: {
- tableData: [
- {
- id: "1",
- productNumber: "123",
- productName: "",
- startDate: "",
- endDate: "2016-05-02",
- number: "",
- address: ""
- }
- ]
+ productTableList: {},
+ showSummary: {
+ show: true,
+ total: true,
+ sumProp: ["other1", "other7"],
+ mergeNumber: 2
}
}
},
- created() {},
+ created() {
+ this.setTableForm()
+ },
methods: {
+ setTableForm() {
+ this.productTableList = {
+ tableData: [
+ {
+ id: "1",
+ productName: "涓婃捣鏈夐檺鍏徃",
+ other0: "ZDYBD03-1",
+ other1: "12",
+ other2: "",
+ other6: "3.00",
+ other7: "2.00"
+ }
+ ],
+ tableColumn: [
+ { label: "#", prop: "id", width: 40 },
+ { label: "浜у搧鍚嶇О", prop: "productName", input: true, isRequird: true },
+ { label: "浜у搧缂栧彿", prop: "other0" },
+ { label: "鏁伴噺", prop: "other1", input: true, isRequird: true },
+ { label: "鍚◣鍗曚环", prop: "other6", input: true },
+ { label: "浠风◣鍚堣", prop: "other7", input: true },
+ { label: "鎻忚堪", prop: "other8" },
+ { label: "婧愬崟绫诲瀷", prop: "other2" },
+ { label: "婧愬崟", prop: "other3" }
+ ]
+ }
+ },
handleClose() {
this.editConfig.visible = false
},
diff --git a/src/views/sales/salesOpportunity/AddSalesOpportunityDialog.vue b/src/views/sales/salesOpportunity/AddSalesOpportunityDialog.vue
index f11fa15..cf9379e 100644
--- a/src/views/sales/salesOpportunity/AddSalesOpportunityDialog.vue
+++ b/src/views/sales/salesOpportunity/AddSalesOpportunityDialog.vue
@@ -338,8 +338,21 @@
<el-row>
<el-col :span="12">
<el-form-item label="闄勪欢" prop="">
+ <template slot="label">
+ <div style="display: flex; float: right">
+ <div style="font-size: 16px">
+ <i class="el-icon-warning-outline" title="鏈�澶氫笂浼�20涓檮浠讹紝鏈�澶ч檺鍒�5MB"></i>
+ </div>
+ <span style="margin-left: 5px">闄勪欢</span>
+ </div>
+ </template>
<div class="annex-view">
- <div @click="addAnnexClick">娣诲姞</div>
+ <div @click="addAnnexClick">
+ <div style="display: flex; float: right">
+ <div style="font-size: 16px"><i class="el-icon-paperclip"></i></div>
+ <span>娣诲姞</span>
+ </div>
+ </div>
<div class="setFormat" @click="setFormatClick">璁剧疆鍏佽涓婁紶鐨勬枃浠舵牸寮�</div>
</div>
</el-form-item>
diff --git a/src/views/sales/salesReturn/AddSalesReturnDialog.vue b/src/views/sales/salesReturn/AddSalesReturnDialog.vue
new file mode 100644
index 0000000..3e1bc1c
--- /dev/null
+++ b/src/views/sales/salesReturn/AddSalesReturnDialog.vue
@@ -0,0 +1,357 @@
+<template>
+ <div class="add-sales-return">
+ <el-dialog
+ :title="editCommonConfig.title + '閿�鍞��璐у崟'"
+ :visible.sync="editConfig.visible"
+ :width="dialogWidth"
+ :before-close="handleClose"
+ >
+ <el-form
+ ref="form"
+ :model="editConfig.infomation"
+ :rules="rules"
+ label-position="right"
+ label-width="308px"
+ size="mini"
+ style="height: 60vh; overflow-x: hidden"
+ >
+ <!-- 淇℃伅 -->
+ <div class="basic-info">
+ <!-- 鍩烘湰淇℃伅 -->
+ <div class="basic-info-title">鍩烘湰淇℃伅</div>
+ <div class="basic-info-view">
+ <el-row>
+ <el-col :span="12">
+ <el-form-item label="瀹㈡埛鍚嶇О" prop="customName">
+ <div class="custom-name">
+ <el-input v-model="editConfig.infomation.customName"></el-input>
+ <div class="common-select-btn"><i class="el-icon-circle-plus-outline" title="閫夋嫨"></i></div>
+ <div class="common-select-btn"><i class="el-icon-edit" title="缂栬緫"></i></div>
+ </div>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="閿�鍞��璐у崟缂栧彿" prop="salesReturnOrderNo">
+ <el-input v-model="editConfig.infomation.salesReturnOrderNo"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="閫夋嫨婧愬崟" prop="selSourceOrder">
+ <el-select v-model="editConfig.infomation.selSourceOrder" size="mini" style="width: 63%">
+ <el-option
+ v-for="item in selSourceOrderOptions"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="閫�鍏ヤ粨搴�" prop="returnWarehouse">
+ <el-select v-model="editConfig.infomation.returnWarehouse" size="mini" style="width: 63%">
+ <el-option
+ v-for="item in returnWarehouseOptions"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="閿�鍞礋璐d汉" prop="salesHead">
+ <el-select
+ v-model="editConfig.infomation.salesHead"
+ placeholder="璇烽�夋嫨"
+ size="mini"
+ style="width: 63%"
+ >
+ <el-option
+ v-for="item in salesHeadOptions"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="閫�璐ф棩鏈�" prop="returnDate">
+ <el-date-picker v-model="editConfig.infomation.returnDate" type="date" placeholder="閫夋嫨鏃ユ湡">
+ </el-date-picker>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </div>
+ <!-- 鍔ㄦ�佷俊鎭� -->
+ <div class="basic-info-title">鍔ㄦ�佷俊鎭�</div>
+ <div class="basic-info-view">
+ <el-row>
+ <el-col :span="12">
+ <el-form-item label="鐘舵��" prop="state">
+ <CommonSelectView :common-value="editConfig.infomation.state" :common-options="stateOptions" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </div>
+ <!-- 澶囨敞淇℃伅 -->
+ <div class="basic-info-title">澶囨敞淇℃伅</div>
+ <div class="address-view">
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="閫�璐у師鍥�" prop="returnReason">
+ <el-input
+ type="textarea"
+ :autosize="{ minRows: 2 }"
+ v-model="editConfig.infomation.returnReason"
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </div>
+ <!-- 闄勪欢淇℃伅 -->
+ <div class="basic-info-title">闄勪欢淇℃伅</div>
+ <div class="basic-info-view">
+ <el-row>
+ <el-col :span="12">
+ <el-form-item label="闄勪欢" prop="">
+ <template slot="label">
+ <div style="display: flex; float: right">
+ <div style="font-size: 16px">
+ <i class="el-icon-warning-outline" title="鏈�澶氫笂浼�20涓檮浠讹紝鏈�澶ч檺鍒�5MB"></i>
+ </div>
+ <span style="margin-left: 5px">闄勪欢</span>
+ </div>
+ </template>
+ <div class="annex-view">
+ <div @click="addAnnexClick">
+ <div style="display: flex; float: right">
+ <div style="font-size: 16px"><i class="el-icon-paperclip"></i></div>
+ <span>娣诲姞</span>
+ </div>
+ </div>
+ <div class="setFormat" @click="setFormatClick">璁剧疆鍏佽涓婁紶鐨勬枃浠舵牸寮�</div>
+ </div>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </div>
+ <!-- 浜у搧绠$悊 -->
+ <div class="basic-info-title" style="display: flex">
+ 浜у搧绠$悊
+ <div style="margin-left: 400px">
+ 甯佺
+ <el-select v-model="editConfig.infomation.currency" placeholder="璇烽�夋嫨" size="mini" style="width: 63%">
+ <el-option v-for="item in currencyOptions" :key="item.value" :label="item.label" :value="item.value">
+ </el-option>
+ </el-select>
+ </div>
+ </div>
+ <div class="product-view">
+ <CommonFormTableView :show-summary="showSummary" :product-table-list="productTableList" />
+ </div>
+ </div>
+ </el-form>
+ <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>
+import CommonSelectView from "@/components/makepager/CommonSelectView"
+import CommonFormTableView from "@/components/makepager/CommonFormTableView"
+export default {
+ name: "AddSalesReturnDialog",
+ props: {
+ editCommonConfig: {
+ type: Object,
+ default: () => {
+ return {
+ visible: false,
+ title: "鏂板缓",
+ infomation: {
+ customName: "",
+ salesReturnOrderNo: "THD20230521-11",
+ selSourceOrder: "1",
+ returnWarehouse: "1",
+ salesHead: "5",
+ returnDate: "",
+ state: "",
+ returnReason: ""
+ }
+ }
+ }
+ }
+ },
+ components: { CommonSelectView, CommonFormTableView },
+ computed: {},
+ data() {
+ return {
+ dialogWidth: "80%",
+ editConfig: this.editCommonConfig,
+ rules: {
+ salesReturnOrderNo: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
+ returnWarehouse: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
+ salesHead: [{ required: true, message: "璇烽�夋嫨璐熻矗浜�", trigger: "change" }]
+ },
+ salesHeadOptions: [
+ // 閿�鍞礋璐d汉
+ { value: "1", label: "BOSS" },
+ { value: "2", label: "Mia" },
+ { value: "3", label: "璐㈠姟" },
+ { value: "4", label: "甯傚満" },
+ { value: "5", label: "绯荤粺绠$悊鍛�" },
+ { value: "6", label: "閿�鍞�" },
+ { value: "7", label: "閿�鍞�荤洃" }
+ ],
+ selSourceOrderOptions: [{ value: "1", label: "閿�鍞槑缁嗗崟" }], // 閫夋嫨婧愬崟
+ returnWarehouseOptions: [
+ { value: "1", label: "鎬讳粨" },
+ { value: "2", label: "璧犲搧浠�" },
+ { value: "3", label: "鍏朵粬浠�" }
+ ], // 閫�鍏ヤ粨搴�
+ stateOptions: [], // 鐘舵��
+ currencyOptions: [
+ { value: "1", label: "浜烘皯甯�(楼)" },
+ { value: "2", label: "鑻遍晳(拢)" },
+ { value: "3", label: "娆у厓(鈧�)" }
+ ], // 甯佺
+ productTableList: {},
+ showSummary: {
+ show: true,
+ total: false,
+ refundable: true,
+ sumProp: ["other1", "other2", "other3", "other4"],
+ mergeNumber: 4
+ }
+ }
+ },
+ created() {
+ this.setTableForm()
+ },
+ methods: {
+ setTableForm() {
+ this.productTableList = {
+ tableData: [
+ {
+ id: "1",
+ productName: "涓婃捣鏈夐檺鍏徃",
+ other0: "ZDYBD03-1",
+ other1: "12",
+ other2: "5.00",
+ other4: "3.00",
+ other3: "2.00"
+ }
+ ],
+ tableColumn: [
+ { label: "#", prop: "id", width: 40 },
+ { label: "浜у搧鍚嶇О", prop: "productName", input: true, isRequird: true },
+ { label: "浜у搧缂栧彿", prop: "other0" },
+ { label: "婧愬崟绫诲瀷", prop: "other5" },
+ { label: "婧愬崟", prop: "other6" },
+ { label: "鏁伴噺", prop: "other1", input: true, isRequird: true },
+ { label: "鍚◣鍗曚环", prop: "other9", input: true },
+ { label: "涓嶅惈绋庡崟浠�", prop: "other7", input: true },
+ { label: "鎶樻墸鐜�(%)", prop: "other6", input: true },
+ { label: "鎶樻墸棰�", prop: "other2" },
+ { label: "绋�(閿�鍞�)", prop: "other7", input: true },
+ { label: "瀹為檯鍚◣鍗曚环", prop: "other3" },
+ { label: "涓嶅惈绋庨噾棰�", prop: "other4" },
+ { label: "浠风◣鍚堣", prop: "other3", input: true },
+ { label: "鎻忚堪", prop: "other8" }
+ ]
+ }
+ },
+ handleClose() {
+ this.editConfig.visible = false
+ },
+ // 娣诲姞闄勪欢
+ addAnnexClick() {},
+ // 璁剧疆鍏佽涓婁紶鏂囦欢鏍煎紡
+ setFormatClick() {}
+ }
+}
+</script>
+
+<!-- Add "scoped" attribute to limit CSS to this component only -->
+<style lang="scss" scoped>
+.add-sales-return {
+ .basic-info {
+ .basic-info-title {
+ background-color: #f4f8fe;
+ padding-left: 10px;
+ font-size: 15px;
+ font-weight: bold;
+ color: #666;
+ height: 42px;
+ line-height: 42px;
+ }
+ .basic-info-view {
+ margin-top: 10px;
+ padding-right: 40px;
+ .custom-name {
+ display: flex;
+ .common-select-btn {
+ margin-left: 5px;
+ font-size: 18px;
+ }
+ }
+ }
+ .address-view {
+ margin-top: 10px;
+ padding-right: 40px;
+ }
+ .annex-view {
+ display: flex;
+ color: #6166d3;
+ .setFormat {
+ margin-left: 10px;
+ }
+ }
+ }
+ .unflod-collapse {
+ display: flex;
+ height: 30px;
+ justify-content: center;
+ align-items: center;
+ color: #6166d3;
+ }
+ .dialog-footer {
+ 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;
+ }
+ .product-view {
+ .el-form-item__label {
+ padding: 0;
+ }
+ }
+}
+</style>
diff --git a/src/views/sales/salesReturn/index.vue b/src/views/sales/salesReturn/index.vue
index 7029c18..bce9ea1 100644
--- a/src/views/sales/salesReturn/index.vue
+++ b/src/views/sales/salesReturn/index.vue
@@ -15,7 +15,7 @@
</template>
</TableCommonView>
<!-- 鏂板缓/缂栬緫 -->
- <AddSalesLeadDialog v-if="editConfig.visible" :edit-sales-lead-config="editConfig" />
+ <AddSalesReturnDialog v-if="editConfig.visible" :edit-common-config="editConfig" />
</div>
</template>
@@ -24,7 +24,7 @@
import PublicFunctionBtnView from "@/components/makepager/PublicFunctionBtnView"
import PagerView from "@/components/makepager/PagerView"
import TableCommonView from "@/components/makepager/TableCommonView"
-import AddSalesLeadDialog from "@/views/custom/salesLead/AddSalesLeadDialog"
+import AddSalesReturnDialog from "@/views/sales/salesReturn/AddSalesReturnDialog"
export default {
name: "SalesReturn",
@@ -34,7 +34,7 @@
PublicFunctionBtnView,
PagerView,
TableCommonView,
- AddSalesLeadDialog
+ AddSalesReturnDialog
},
computed: {
searchCommonHeight() {
@@ -49,7 +49,7 @@
{ value: "2", label: "涓" },
{ value: "3", label: "缁撴潫" },
{ value: "4", label: "宸插叆搴�" },
- { value: "4", label: "鏈叆搴�" }
+ { value: "5", label: "鏈叆搴�" }
],
searchOptions: [],
operatesList: [
@@ -112,20 +112,13 @@
this.editConfig.title = "鏂板缓"
this.editConfig.infomation = {
customName: "",
- saleLeadNumber: "LEA50",
- contactName: "",
- contactDuties: "",
- phoneNumber: "",
- businessStatus: "鏂板缓",
- businessSource: "1",
- owner: "",
- position: "",
- map: "",
- country: "1",
- province: "1",
- city: "1",
- region: "1",
- address: ""
+ salesReturnOrderNo: "THD20230521-11",
+ selSourceOrder: "1",
+ returnWarehouse: "1",
+ salesHead: "5",
+ returnDate: "",
+ state: "",
+ returnReason: ""
}
},
// 缂栬緫
@@ -134,21 +127,14 @@
this.editConfig.visible = true
this.editConfig.title = "缂栬緫"
this.editConfig.infomation = {
- customName: row.customName,
- saleLeadNumber: row.saleLeadNumber,
- contactName: row.contactName,
- contactDuties: row.contactDuties,
- phoneNumber: row.phoneNumber,
- businessStatus: "鏂板缓",
- businessSource: row.businessSource,
- owner: row.owner,
- position: "",
- map: "",
- country: "1",
- province: "1",
- city: "1",
- region: "1",
- address: ""
+ customName: "",
+ salesReturnOrderNo: "THD20230521-11",
+ selSourceOrder: "",
+ returnWarehouse: "",
+ salesHead: "",
+ returnDate: "",
+ state: "",
+ returnReason: ""
}
}
}
diff --git a/src/views/sales/subOrder/AddSubOrderDialog.vue b/src/views/sales/subOrder/AddSubOrderDialog.vue
index fd6c74e..4e198db 100644
--- a/src/views/sales/subOrder/AddSubOrderDialog.vue
+++ b/src/views/sales/subOrder/AddSubOrderDialog.vue
@@ -59,8 +59,21 @@
<el-row>
<el-col :span="12">
<el-form-item label="闄勪欢" prop="">
+ <template slot="label">
+ <div style="display: flex; float: right">
+ <div style="font-size: 16px">
+ <i class="el-icon-warning-outline" title="鏈�澶氫笂浼�20涓檮浠讹紝鏈�澶ч檺鍒�5MB"></i>
+ </div>
+ <span style="margin-left: 5px">闄勪欢</span>
+ </div>
+ </template>
<div class="annex-view">
- <div @click="addAnnexClick">娣诲姞</div>
+ <div @click="addAnnexClick">
+ <div style="display: flex; float: right">
+ <div style="font-size: 16px"><i class="el-icon-paperclip"></i></div>
+ <span>娣诲姞</span>
+ </div>
+ </div>
<div class="setFormat" @click="setFormatClick">璁剧疆鍏佽涓婁紶鐨勬枃浠舵牸寮�</div>
</div>
</el-form-item>
@@ -187,6 +200,7 @@
{ value: "7", label: "閿�鍞�荤洃" }
],
discount: "2",
+ currencyOptions: [],
discountOptions: [
{ value: "1", label: "鐧惧垎姣旈檷浠�" },
{ value: "2", label: "鐩存帴闄嶄环" }
@@ -196,23 +210,47 @@
{ value: "1", label: "澧炲姞" },
{ value: "2", label: "鍑忓皯" }
], // 璋冩暣
- productTableList: {
- tableData: [
- {
- id: "1",
- productNumber: "123",
- productName: "",
- startDate: "",
- endDate: "2016-05-02",
- number: "",
- address: ""
- }
- ]
+ productTableList: {},
+ showSummary: {
+ show: true,
+ total: false,
+ sumProp: ["other1", "other7"],
+ mergeNumber: 7
}
}
},
- created() {},
+ created() {
+ this.setTableForm()
+ },
methods: {
+ setTableForm() {
+ this.productTableList = {
+ tableData: [
+ {
+ id: "1",
+ productName: "涓婃捣鏈夐檺鍏徃",
+ other0: "ZDYBD03-1",
+ other1: "12",
+ other2: "",
+ other6: "3.00",
+ other7: "2.00"
+ }
+ ],
+ tableColumn: [
+ { label: "#", prop: "id", width: 40 },
+ { label: "浜у搧鍚嶇О", prop: "productName", input: true, isRequird: true },
+ { label: "浜у搧缂栧彿", prop: "other0" },
+ { label: "璁¢噺鍗曚綅", prop: "other2" },
+ { label: "瑙勬牸缂栧彿", prop: "other3" },
+ { label: "婧愬崟绫诲瀷", prop: "other4" },
+ { label: "鍚堝悓淇℃伅", prop: "other5" },
+ { label: "鏁伴噺", prop: "other1", input: true, isRequird: true },
+ { label: "鍚◣鍗曚环", prop: "other6", input: true },
+ { label: "浠风◣鍚堣", prop: "other7", input: true },
+ { label: "鎻忚堪", prop: "other8" }
+ ]
+ }
+ },
handleClose() {
this.editConfig.visible = false
},
diff --git a/src/views/service/orderManage/AddOrderManageDialog.vue b/src/views/service/orderManage/AddOrderManageDialog.vue
index 048a9a7..39565a9 100644
--- a/src/views/service/orderManage/AddOrderManageDialog.vue
+++ b/src/views/service/orderManage/AddOrderManageDialog.vue
@@ -102,8 +102,21 @@
<el-row>
<el-col :span="12">
<el-form-item label="闄勪欢" prop="">
+ <template slot="label">
+ <div style="display: flex; float: right">
+ <div style="font-size: 16px">
+ <i class="el-icon-warning-outline" title="鏈�澶氫笂浼�20涓檮浠讹紝鏈�澶ч檺鍒�5MB"></i>
+ </div>
+ <span style="margin-left: 5px">闄勪欢</span>
+ </div>
+ </template>
<div class="annex-view">
- <div @click="addAnnexClick">娣诲姞</div>
+ <div @click="addAnnexClick">
+ <div style="display: flex; float: right">
+ <div style="font-size: 16px"><i class="el-icon-paperclip"></i></div>
+ <span>娣诲姞</span>
+ </div>
+ </div>
<div class="setFormat" @click="setFormatClick">璁剧疆鍏佽涓婁紶鐨勬枃浠舵牸寮�</div>
</div>
</el-form-item>
diff --git a/src/views/service/serviceContract/AddServiceContractDialog.vue b/src/views/service/serviceContract/AddServiceContractDialog.vue
index 83cc100..d79b75d 100644
--- a/src/views/service/serviceContract/AddServiceContractDialog.vue
+++ b/src/views/service/serviceContract/AddServiceContractDialog.vue
@@ -164,8 +164,21 @@
<el-row>
<el-col :span="12">
<el-form-item label="闄勪欢" prop="">
+ <template slot="label">
+ <div style="display: flex; float: right">
+ <div style="font-size: 16px">
+ <i class="el-icon-warning-outline" title="鏈�澶氫笂浼�20涓檮浠讹紝鏈�澶ч檺鍒�5MB"></i>
+ </div>
+ <span style="margin-left: 5px">闄勪欢</span>
+ </div>
+ </template>
<div class="annex-view">
- <div @click="addAnnexClick">娣诲姞</div>
+ <div @click="addAnnexClick">
+ <div style="display: flex; float: right">
+ <div style="font-size: 16px"><i class="el-icon-paperclip"></i></div>
+ <span>娣诲姞</span>
+ </div>
+ </div>
<div class="setFormat" @click="setFormatClick">璁剧疆鍏佽涓婁紶鐨勬枃浠舵牸寮�</div>
</div>
</el-form-item>
@@ -184,7 +197,7 @@
</div>
</div>
<div class="product-view">
- <CommonFormTableView :product-table-list="productTableList" />
+ <CommonFormTableView :show-summary="showSummary" :product-table-list="productTableList" />
</div>
<!-- 閫夋嫨瀹℃壒娴佺▼ -->
<div class="basic-info-title">閫夋嫨瀹℃壒娴佺▼</div>
@@ -288,8 +301,7 @@
rules: {
serviceContractNumber: [{ required: true, message: "璇疯緭鍏ユ湇鍔″悎鍚岀紪鍙�", trigger: "blur" }],
signDate: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
- owner: [{ required: true, message: "璇烽�夋嫨璐熻矗浜�", trigger: "change" }],
- approvalOpinion: [{ required: true, message: "璇疯緭鍏ュ鎵规剰瑙�", trigger: "blur" }]
+ owner: [{ required: true, message: "璇烽�夋嫨璐熻矗浜�", trigger: "change" }]
},
ownerOptions: [
// 璐熻矗浜�
@@ -309,23 +321,51 @@
{ value: "3", label: "娆у厓(鈧�)" }
], // 甯佺
approvalWorkflowOptions: [], // 瀹℃壒娴佺▼
- productTableList: {
- tableData: [
- {
- id: "1",
- productNumber: "123",
- productName: "",
- startDate: "",
- endDate: "2016-05-02",
- number: "",
- address: ""
- }
- ]
+ productTableList: {},
+ showSummary: {
+ show: true,
+ total: true,
+ sumProp: ["other1", "other2", "other3", "other4"],
+ mergeNumber: 3
}
}
},
- created() {},
+ created() {
+ this.setTableForm()
+ },
methods: {
+ setTableForm() {
+ this.productTableList = {
+ tableData: [
+ {
+ id: "1",
+ productName: "涓婃捣鏈夐檺鍏徃",
+ other0: "ZDYBD03-1",
+ other1: "12",
+ other2: "5.00",
+ other4: "3.00",
+ other3: "2.00"
+ }
+ ],
+ tableColumn: [
+ { label: "#", prop: "id", width: 40 },
+ { label: "浜у搧鍚嶇О", prop: "productName", input: true, isRequird: true },
+ { label: "浜у搧缂栧彿", prop: "other0" },
+ { label: "鏈嶅姟寮�濮嬫棩", prop: "other5", date: true, isRequird: true, min: 100 },
+ { label: "鏈嶅姟鍒版湡鏃�", prop: "other6", date: true, isRequird: true, min: 100 },
+ { label: "鏁伴噺", prop: "other1", input: true, isRequird: true },
+ { label: "鍚◣鍗曚环", prop: "other9", input: true },
+ { label: "涓嶅惈绋庡崟浠�", prop: "other7", input: true },
+ { label: "鎶樻墸鐜�(%)", prop: "other6", input: true },
+ { label: "鎶樻墸棰�", prop: "other2" },
+ { label: "绋�(閿�鍞�)", prop: "other7", input: true },
+ { label: "瀹為檯鍚◣鍗曚环", prop: "other3" },
+ { label: "涓嶅惈绋庨噾棰�", prop: "other4" },
+ { label: "浠风◣鍚堣", prop: "other3", input: true },
+ { label: "鎻忚堪", prop: "other8" }
+ ]
+ }
+ },
handleClose() {
this.editConfig.visible = false
},
diff --git a/src/views/service/serviceFeeManage/AddServiceFeeManageDialog.vue b/src/views/service/serviceFeeManage/AddServiceFeeManageDialog.vue
index c8ef662..750aef2 100644
--- a/src/views/service/serviceFeeManage/AddServiceFeeManageDialog.vue
+++ b/src/views/service/serviceFeeManage/AddServiceFeeManageDialog.vue
@@ -245,8 +245,21 @@
<el-row>
<el-col :span="12">
<el-form-item label="闄勪欢" prop="">
+ <template slot="label">
+ <div style="display: flex; float: right">
+ <div style="font-size: 16px">
+ <i class="el-icon-warning-outline" title="鏈�澶氫笂浼�20涓檮浠讹紝鏈�澶ч檺鍒�5MB"></i>
+ </div>
+ <span style="margin-left: 5px">闄勪欢</span>
+ </div>
+ </template>
<div class="annex-view">
- <div @click="addAnnexClick">娣诲姞</div>
+ <div @click="addAnnexClick">
+ <div style="display: flex; float: right">
+ <div style="font-size: 16px"><i class="el-icon-paperclip"></i></div>
+ <span>娣诲姞</span>
+ </div>
+ </div>
<div class="setFormat" @click="setFormatClick">璁剧疆鍏佽涓婁紶鐨勬枃浠舵牸寮�</div>
</div>
</el-form-item>
diff --git a/src/views/service/serviceFeeManage/index.vue b/src/views/service/serviceFeeManage/index.vue
index 48e2bdc..9dd8191 100644
--- a/src/views/service/serviceFeeManage/index.vue
+++ b/src/views/service/serviceFeeManage/index.vue
@@ -96,12 +96,13 @@
customStatus: "娼滃湪瀹㈡埛",
productName: "鑷姩鎵撳嵃鏈�",
startDate: "2023-06-27",
- endDate: "2024-07-15"
+ endDate: "2024-07-15",
+ status: "blue"
}
],
tableColumn: [
{ label: "瀹㈡埛鍚嶇О", prop: "customName", min: 120 }, // 瀹㈡埛鍚嶇О
- { label: "瀹㈡埛绫诲瀷", prop: "customType", min: 90 }, // 瀹㈡埛绫诲瀷
+ { label: "瀹㈡埛绫诲瀷", prop: "customType", min: 90, status: true }, // 瀹㈡埛绫诲瀷
{ label: "閿�鍞礋璐d汉", prop: "salesHead" }, // 閿�鍞礋璐d汉
{ label: "淇敼鏃堕棿", prop: "modifyTime", min: 100 }, // 淇敼鏃堕棿
{ label: "瀹㈡埛瑙勬ā", prop: "customerSize" }, // 瀹㈡埛瑙勬ā
diff --git a/src/views/service/serviceFollowup/AddServiceFollowupDialog.vue b/src/views/service/serviceFollowup/AddServiceFollowupDialog.vue
index 2c252ab..55dfdfa 100644
--- a/src/views/service/serviceFollowup/AddServiceFollowupDialog.vue
+++ b/src/views/service/serviceFollowup/AddServiceFollowupDialog.vue
@@ -131,8 +131,21 @@
<el-row>
<el-col :span="12">
<el-form-item label="闄勪欢" prop="">
+ <template slot="label">
+ <div style="display: flex; float: right">
+ <div style="font-size: 16px">
+ <i class="el-icon-warning-outline" title="鏈�澶氫笂浼�20涓檮浠讹紝鏈�澶ч檺鍒�5MB"></i>
+ </div>
+ <span style="margin-left: 5px">闄勪欢</span>
+ </div>
+ </template>
<div class="annex-view">
- <div @click="addAnnexClick">娣诲姞</div>
+ <div @click="addAnnexClick">
+ <div style="display: flex; float: right">
+ <div style="font-size: 16px"><i class="el-icon-paperclip"></i></div>
+ <span>娣诲姞</span>
+ </div>
+ </div>
<div class="setFormat" @click="setFormatClick">璁剧疆鍏佽涓婁紶鐨勬枃浠舵牸寮�</div>
</div>
</el-form-item>
--
Gitblit v1.8.0