|
|
@@ -47,8 +47,8 @@
|
|
|
<inventoryTableDetails
|
|
|
ref="inventoryTable"
|
|
|
:isSinglePrice="false"
|
|
|
- :isTotalCount="false"
|
|
|
-
|
|
|
+ :isTotalCount="false"
|
|
|
+ :isDiscount="false"
|
|
|
></inventoryTableDetails>
|
|
|
</el-tab-pane>
|
|
|
<el-tab-pane label="竞品" name="竞品">
|
|
|
@@ -85,9 +85,13 @@
|
|
|
<followList ref="followListRef"></followList>
|
|
|
</el-tab-pane>
|
|
|
|
|
|
- <el-tab-pane label="审批流程" name="审批流程" v-if="row.processInstanceId">
|
|
|
+ <el-tab-pane
|
|
|
+ label="审批流程"
|
|
|
+ name="审批流程"
|
|
|
+ v-if="row.processInstanceId"
|
|
|
+ >
|
|
|
<bpmDetail
|
|
|
- v-if="row.processInstanceId&&activeName=='审批流程'"
|
|
|
+ v-if="row.processInstanceId && activeName == '审批流程'"
|
|
|
:id="row.processInstanceId"
|
|
|
></bpmDetail>
|
|
|
</el-tab-pane>
|
|
|
@@ -97,182 +101,182 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import {
|
|
|
- getDetail,
|
|
|
- UpdateInformation
|
|
|
-} from '@/api/saleManage/businessOpportunity';
|
|
|
+ import {
|
|
|
+ getDetail,
|
|
|
+ UpdateInformation
|
|
|
+ } from '@/api/saleManage/businessOpportunity';
|
|
|
|
|
|
-import dictMixins from '@/mixins/dictMixins';
|
|
|
-import opportunityInfo from './darwerComponents/opportunityInfo.vue';
|
|
|
-// import inventoryTable from '@/BIZComponents/inventoryTable.vue';
|
|
|
-import inventoryTableDetails from '@/BIZComponents/inventoryTableDetails.vue';
|
|
|
-import businessAddTable from './businessAddTable.vue';
|
|
|
-import personnelAddTable from './personnelAddTable.vue';
|
|
|
-import bpmDetail from '@/views/bpm/processInstance/detail.vue';
|
|
|
+ import dictMixins from '@/mixins/dictMixins';
|
|
|
+ import opportunityInfo from './darwerComponents/opportunityInfo.vue';
|
|
|
+ // import inventoryTable from '@/BIZComponents/inventoryTable.vue';
|
|
|
+ import inventoryTableDetails from '@/BIZComponents/inventoryTableDetails.vue';
|
|
|
+ import businessAddTable from './businessAddTable.vue';
|
|
|
+ import personnelAddTable from './personnelAddTable.vue';
|
|
|
+ import bpmDetail from '@/views/bpm/processInstance/detail.vue';
|
|
|
|
|
|
-//报价单
|
|
|
-import quotation from '@/views/saleManage/quotation/index.vue';
|
|
|
-//合同
|
|
|
-import contractBook from '@/views/contractManage/contractBook/index.vue';
|
|
|
-//销售订单
|
|
|
-import saleOrder from '@/views/saleManage/saleOrder/index.vue';
|
|
|
+ //报价单
|
|
|
+ import quotation from '@/views/saleManage/quotation/index.vue';
|
|
|
+ //合同
|
|
|
+ import contractBook from '@/views/contractManage/contractBook/index.vue';
|
|
|
+ //销售订单
|
|
|
+ import saleOrder from '@/views/saleManage/saleOrder/index.vue';
|
|
|
|
|
|
-//跟进
|
|
|
-import followList from './darwerComponents/followList.vue';
|
|
|
+ //跟进
|
|
|
+ import followList from './darwerComponents/followList.vue';
|
|
|
|
|
|
-export default {
|
|
|
- mixins: [dictMixins],
|
|
|
+ export default {
|
|
|
+ mixins: [dictMixins],
|
|
|
|
|
|
- components: {
|
|
|
- quotation,
|
|
|
- contractBook,
|
|
|
- saleOrder,
|
|
|
- followList,
|
|
|
- opportunityInfo,
|
|
|
- inventoryTableDetails,
|
|
|
- businessAddTable,
|
|
|
- personnelAddTable,
|
|
|
- bpmDetail
|
|
|
- },
|
|
|
- data() {
|
|
|
- return {
|
|
|
- drawer: false,
|
|
|
- title: '',
|
|
|
- activeName: '详细信息',
|
|
|
- row: { contactId: '' },
|
|
|
- content: ''
|
|
|
- };
|
|
|
- },
|
|
|
- created() {},
|
|
|
-
|
|
|
- methods: {
|
|
|
- async open(row) {
|
|
|
- this.row = await getDetail(row.id);
|
|
|
- this.drawer = true;
|
|
|
- this.$nextTick(() => {
|
|
|
- this.$refs.opportunityInfoRef.init(this.row);
|
|
|
- this.$refs.followListRef.init(this.row);
|
|
|
-
|
|
|
- this.$refs.businessAddTable &&
|
|
|
- this.$refs.businessAddTable.putTableValue(
|
|
|
- this.row.competAnalysisList
|
|
|
- );
|
|
|
- this.$refs.personnelAddTable &&
|
|
|
- this.$refs.personnelAddTable.putTableValue(
|
|
|
- this.row.partyList,
|
|
|
- this.row.contactId
|
|
|
- );
|
|
|
- this.$refs.inventoryTable &&
|
|
|
- this.$refs.inventoryTable.putTableValue(this.row);
|
|
|
- });
|
|
|
- },
|
|
|
- getValidate() {
|
|
|
- return Promise.all([
|
|
|
- new Promise((resolve, reject) => {
|
|
|
- this.$refs.inventoryTable.validateForm((valid) => {
|
|
|
- if (!valid) {
|
|
|
- reject(false);
|
|
|
- } else {
|
|
|
- resolve(true);
|
|
|
- }
|
|
|
- });
|
|
|
- }),
|
|
|
- new Promise((resolve, reject) => {
|
|
|
- this.$refs.businessAddTable.validateForm((valid) => {
|
|
|
- if (!valid) {
|
|
|
- reject(false);
|
|
|
- } else {
|
|
|
- resolve(true);
|
|
|
- }
|
|
|
- });
|
|
|
- }),
|
|
|
- new Promise((resolve, reject) => {
|
|
|
- this.$refs.personnelAddTable.validateForm((valid) => {
|
|
|
- if (!valid) {
|
|
|
- reject(false);
|
|
|
- } else {
|
|
|
- resolve(true);
|
|
|
- }
|
|
|
- });
|
|
|
- })
|
|
|
- ]);
|
|
|
+ components: {
|
|
|
+ quotation,
|
|
|
+ contractBook,
|
|
|
+ saleOrder,
|
|
|
+ followList,
|
|
|
+ opportunityInfo,
|
|
|
+ inventoryTableDetails,
|
|
|
+ businessAddTable,
|
|
|
+ personnelAddTable,
|
|
|
+ bpmDetail
|
|
|
},
|
|
|
- inputChange() {
|
|
|
- this.save();
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ drawer: false,
|
|
|
+ title: '',
|
|
|
+ activeName: '详细信息',
|
|
|
+ row: { contactId: '' },
|
|
|
+ content: ''
|
|
|
+ };
|
|
|
},
|
|
|
- async save() {
|
|
|
- try {
|
|
|
- // 表单验证通过,执行保存操作
|
|
|
- await this.getValidate();
|
|
|
- this.loading = true;
|
|
|
+ created() {},
|
|
|
|
|
|
- if (this.$refs.inventoryTable.getTableValue().length == 0) {
|
|
|
- this.$message.warning('产品清单不能为空');
|
|
|
- return;
|
|
|
+ methods: {
|
|
|
+ async open(row) {
|
|
|
+ this.row = await getDetail(row.id);
|
|
|
+ this.drawer = true;
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.$refs.opportunityInfoRef.init(this.row);
|
|
|
+ this.$refs.followListRef.init(this.row);
|
|
|
+
|
|
|
+ this.$refs.businessAddTable &&
|
|
|
+ this.$refs.businessAddTable.putTableValue(
|
|
|
+ this.row.competAnalysisList
|
|
|
+ );
|
|
|
+ this.$refs.personnelAddTable &&
|
|
|
+ this.$refs.personnelAddTable.putTableValue(
|
|
|
+ this.row.partyList,
|
|
|
+ this.row.contactId
|
|
|
+ );
|
|
|
+ this.$refs.inventoryTable &&
|
|
|
+ this.$refs.inventoryTable.putTableValue(this.row);
|
|
|
+ });
|
|
|
+ },
|
|
|
+ getValidate() {
|
|
|
+ return Promise.all([
|
|
|
+ new Promise((resolve, reject) => {
|
|
|
+ this.$refs.inventoryTable.validateForm((valid) => {
|
|
|
+ if (!valid) {
|
|
|
+ reject(false);
|
|
|
+ } else {
|
|
|
+ resolve(true);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }),
|
|
|
+ new Promise((resolve, reject) => {
|
|
|
+ this.$refs.businessAddTable.validateForm((valid) => {
|
|
|
+ if (!valid) {
|
|
|
+ reject(false);
|
|
|
+ } else {
|
|
|
+ resolve(true);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }),
|
|
|
+ new Promise((resolve, reject) => {
|
|
|
+ this.$refs.personnelAddTable.validateForm((valid) => {
|
|
|
+ if (!valid) {
|
|
|
+ reject(false);
|
|
|
+ } else {
|
|
|
+ resolve(true);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ })
|
|
|
+ ]);
|
|
|
+ },
|
|
|
+ inputChange() {
|
|
|
+ this.save();
|
|
|
+ },
|
|
|
+ async save() {
|
|
|
+ try {
|
|
|
+ // 表单验证通过,执行保存操作
|
|
|
+ await this.getValidate();
|
|
|
+ this.loading = true;
|
|
|
+
|
|
|
+ if (this.$refs.inventoryTable.getTableValue().length == 0) {
|
|
|
+ this.$message.warning('产品清单不能为空');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ const commitData = {
|
|
|
+ opportunity: this.row,
|
|
|
+ competAnalysisList: this.$refs.businessAddTable.getTableValue(),
|
|
|
+ partyList: this.$refs.personnelAddTable.getTableValue(),
|
|
|
+ productList: this.$refs.inventoryTable.getTableValue()
|
|
|
+ };
|
|
|
+
|
|
|
+ UpdateInformation(commitData)
|
|
|
+ .then((res) => {
|
|
|
+ this.loading = false;
|
|
|
+ this.$message.success('修改成功');
|
|
|
+ })
|
|
|
+ .catch((e) => {
|
|
|
+ //this.loading = false;
|
|
|
+ });
|
|
|
+ } catch (error) {
|
|
|
+ console.log(error);
|
|
|
+ // 表单验证未通过,不执行保存操作
|
|
|
}
|
|
|
- const commitData = {
|
|
|
- opportunity: this.row,
|
|
|
- competAnalysisList: this.$refs.businessAddTable.getTableValue(),
|
|
|
- partyList: this.$refs.personnelAddTable.getTableValue(),
|
|
|
- productList: this.$refs.inventoryTable.getTableValue()
|
|
|
- };
|
|
|
+ },
|
|
|
|
|
|
- UpdateInformation(commitData)
|
|
|
- .then((res) => {
|
|
|
- this.loading = false;
|
|
|
- this.$message.success('修改成功');
|
|
|
+ handleClose(done) {
|
|
|
+ this.$confirm('确认关闭?')
|
|
|
+ .then((_) => {
|
|
|
+ done();
|
|
|
})
|
|
|
- .catch((e) => {
|
|
|
- //this.loading = false;
|
|
|
- });
|
|
|
- } catch (error) {
|
|
|
- console.log(error);
|
|
|
- // 表单验证未通过,不执行保存操作
|
|
|
+ .catch((_) => {});
|
|
|
}
|
|
|
- },
|
|
|
-
|
|
|
- handleClose(done) {
|
|
|
- this.$confirm('确认关闭?')
|
|
|
- .then((_) => {
|
|
|
- done();
|
|
|
- })
|
|
|
- .catch((_) => {});
|
|
|
}
|
|
|
- }
|
|
|
-};
|
|
|
+ };
|
|
|
</script>
|
|
|
<style lang="scss" scoped>
|
|
|
-.ele-body {
|
|
|
- display: flex;
|
|
|
-}
|
|
|
-:deep(.el-tabs__content) {
|
|
|
- padding: 10px;
|
|
|
- height: calc(100% - 40px);
|
|
|
- overflow: auto;
|
|
|
-}
|
|
|
-:deep(.el-input.is-disabled .el-input__inner) {
|
|
|
- color: #606266;
|
|
|
-}
|
|
|
-.card {
|
|
|
- display: flex;
|
|
|
- padding: 15px;
|
|
|
- font-size: 16px;
|
|
|
- > span {
|
|
|
- flex: 1;
|
|
|
- align-items: center;
|
|
|
+ .ele-body {
|
|
|
display: flex;
|
|
|
- :deep(.el-input) {
|
|
|
- width: 300px;
|
|
|
- }
|
|
|
}
|
|
|
-}
|
|
|
-.title {
|
|
|
- span {
|
|
|
- margin-left: 50px;
|
|
|
+ :deep(.el-tabs__content) {
|
|
|
+ padding: 10px;
|
|
|
+ height: calc(100% - 40px);
|
|
|
+ overflow: auto;
|
|
|
+ }
|
|
|
+ :deep(.el-input.is-disabled .el-input__inner) {
|
|
|
+ color: #606266;
|
|
|
}
|
|
|
- .name {
|
|
|
- font-weight: 800;
|
|
|
- color: #40a9ff;
|
|
|
+ .card {
|
|
|
+ display: flex;
|
|
|
+ padding: 15px;
|
|
|
+ font-size: 16px;
|
|
|
+ > span {
|
|
|
+ flex: 1;
|
|
|
+ align-items: center;
|
|
|
+ display: flex;
|
|
|
+ :deep(.el-input) {
|
|
|
+ width: 300px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .title {
|
|
|
+ span {
|
|
|
+ margin-left: 50px;
|
|
|
+ }
|
|
|
+ .name {
|
|
|
+ font-weight: 800;
|
|
|
+ color: #40a9ff;
|
|
|
+ }
|
|
|
}
|
|
|
-}
|
|
|
-</style>
|
|
|
+</style>
|