From 09da100729793848bc01b51f7b05ca3f1e7ec64f Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期四, 20 六月 2024 14:05:35 +0800
Subject: [PATCH] 提交一把
---
company/src/components/business/modification.vue | 240 +++++++++++++++++++++++++++++++++++-------------------------
1 files changed, 140 insertions(+), 100 deletions(-)
diff --git a/company/src/components/business/modification.vue b/company/src/components/business/modification.vue
index ad5bf0a..53e9d17 100644
--- a/company/src/components/business/modification.vue
+++ b/company/src/components/business/modification.vue
@@ -7,7 +7,7 @@
@confirm="confirm"
>
<el-button type="primary" style="margin-bottom: 15px;" @click="add">娣诲姞</el-button>
- <el-table
+ <el-table v-if="form.solutionList && form.solutionList.length>0"
:data="form.solutionList"
border
style="width: 100%">
@@ -22,23 +22,38 @@
<el-table-column
align="center"
label="淇濋櫓鏂规">
- <template slot-scope="{row}">
- <el-select v-model="row.solution" placeholder="璇烽�夋嫨">
+ <template slot-scope="scope">
+<!-- :value="{ id:item.id, baseId: item.baseId }"-->
+ <el-select v-model="scope.row.solution.id" @change="changeSolution($event, scope.$index)" placeholder="璇烽�夋嫨">
<el-option
v-for="item in programme"
:key="item.id"
:label="item.name"
- :value="{id:item.id,baseId:item.baseId}">
+ :value="item.id">
</el-option>
</el-select>
</template>
</el-table-column>
+ <el-table-column
+ align="center"
+ label="濮旀墭鍟嗘埛">
+ <template slot-scope="scope">
+ <el-select :ref="'shopSelect'+scope.$index" :disabled="scope.row.solution.type ==1" v-model="scope.row.shopId" clearable value-key="id" placeholder="璇烽�夋嫨">
+ <el-option
+ v-for="item in shops"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id">
+ </el-option>
+ </el-select>
+ </template>
+ </el-table-column>
<el-table-column
align="center"
label="鍔犲噺淇濆姛鑳�">
<template slot-scope="{row}">
- <el-checkbox :true-label="1" :false-label="0" v-model="row.canAdd">鍔犱繚</el-checkbox>
- <el-checkbox :true-label="1" :false-label="0" v-model="row.canReduce">鍑忎繚</el-checkbox>
+ <el-checkbox :true-label="1" :false-label="0" disabled v-model="row.canAdd">鍔犱繚</el-checkbox>
+ <el-checkbox :true-label="1" :false-label="0" disabled v-model="row.canReduce">鍑忎繚</el-checkbox>
</template>
</el-table-column>
<el-table-column
@@ -54,100 +69,125 @@
</template>
<script>
- import BaseOpera from '@/components/base/BaseOpera'
- import GlobalWindow from '@/components/common/GlobalWindow'
- import { all } from '@/api/business/solutions'
- import { listForCompany } from '@/api/business/solutions'
- import { updateSolutions } from '@/api/business/company'
+import BaseOpera from '@/components/base/BaseOpera'
+import GlobalWindow from '@/components/common/GlobalWindow'
+import { all, listForCompany } from '@/api/business/solutions'
- export default {
- name: 'modification',
- extends: BaseOpera,
- components: { GlobalWindow },
- data () {
- return {
- // 琛ㄥ崟鏁版嵁
- form: {
- id: null,
- solutionList: [
- {
- solution: {id: null, baseId: null },
- canAdd: 0,
- canReduce: 0
- }
- ]
- },
- // 楠岃瘉瑙勫垯
- rules: {
- solutionList: [
- { required: true, message: '璇疯緭鍏ュ叕鍙歌处鍙�' }
- ]
- },
- programme: []
- }
- },
- created () {
- this.config({
- api: '/business/company',
- 'field.id': 'id'
- })
- },
- methods: {
- confirm() {
- this.isWorking = true
- updateSolutions(this.form)
- .then(res => {
- this.visible = false
- this.$tip.apiSuccess('鏂板缓鎴愬姛')
- this.$emit('success')
- })
- .catch(e => {
- this.$tip.apiFailed(e)
- })
- .finally(() => {
- this.isWorking = false
- })
- },
- // 鑾峰彇鍏ㄩ儴鏂规
- getAll() {
- all({ dataType: 0 })
- .then(res => {
- this.programme = res
- })
- },
- open (title, target) {
- var that = this;
- this.title = title
- for (const key in this.form) {
- this.form[key] = target[key]
- }
- this.getAll()
- listForCompany({ companyId: target.id })
- .then(resa => {
- that.form.solutionList = resa.map(item => {
- return {
- solution: {id: item.baseSolutionId, baseId: item.solutionId },
- canAdd: item.canAdd,
- canReduce: item.canReduce
- }
- })
- that.visible = true
- })
- },
- add() {
- this.form.solutionList.push({
- solution: {id: null, baseId: null },
- canAdd: '',
- canReduce: ''
- })
- },
- dele(index) {
- if (this.form.solutionList.length === 1) {
- this.$message.warning('鑷冲皯淇濈暀涓�椤�')
- return
- }
- this.form.solutionList.splice(index, 1)
- }
- }
+import {updateSolutions, pageAll as shopList, allForFp} from '@/api/business/company'
+
+export default {
+ name: 'modification',
+ extends: BaseOpera,
+ components: { GlobalWindow },
+ data () {
+ return {
+ // 琛ㄥ崟鏁版嵁
+ form: {
+ id: null,
+ solutionList: [
+ {
+ solution: { id: null, baseId: null,type:0 },
+ canAdd: 0,
+ shopId:null,
+ canReduce: 0
+ }
+ ]
+ },
+ // 楠岃瘉瑙勫垯
+ rules: {
+ solutionList: [
+ { required: true, message: '璇疯緭鍏ュ叕鍙歌处鍙�' }
+ ]
+ },
+ programme: [],
+ shops: []
}
+ },
+ created () {
+ this.config({
+ api: '/business/company',
+ 'field.id': 'id'
+ })
+ },
+ methods: {
+ changeSolution (e, index) {
+ let baseId = ''
+ this.programme.forEach(item => {
+ if (item.id === e) {
+ baseId = item.baseId
+ this.form.solutionList[index].solution.type = item.type
+ if(item.type == 1){
+ this.form.solutionList[index].shopId =item.shopId
+ }
+ }
+ })
+
+ this.form.solutionList[index].solution.baseId = baseId
+ },
+ confirm () {
+ this.isWorking = true
+ updateSolutions(this.form)
+ .then(res => {
+ this.visible = false
+ this.$tip.apiSuccess('鏂板缓鎴愬姛')
+ this.$emit('success')
+ })
+ .catch(e => {
+ this.$tip.apiFailed(e)
+ })
+ .finally(() => {
+ this.isWorking = false
+ })
+ },
+ // 鑾峰彇鍏ㄩ儴鏂规
+ getAll () {
+ all({ dataType: 2 })
+ .then(res => {
+ this.programme = res
+ })
+ allForFp({ type: 1, status: 0 })
+ .then(res => {
+ console.log(res)
+ this.shops = res
+ })
+ },
+ open (title, target) {
+ var that = this
+ this.title = title
+ for (const key in this.form) {
+ this.form[key] = target[key]
+ }
+ this.getAll()
+ this.form.solutionList=[]
+ listForCompany({ companyId: target.id })
+ .then(resa => {
+ resa.forEach(item => {
+ this.form.solutionList.push({
+ solution: { id: item.solutionId, baseId: item.solutionBaseId,type:item.solutionType },
+ shopId: item.shopId,
+ canAdd: 1,
+ canReduce: 1
+ })
+ })
+ console.log(this.form.solutionList)
+ that.visible = true
+ })
+ },
+ add () {
+ this.form.solutionList.push({
+ solution: { id: null, baseId: null },
+ shopId: null,
+ canAdd: 1,
+ canReduce: 1
+ })
+ },
+ dele (index) {
+ if (this.form.solutionList.length === 1) {
+ this.$message.warning('鑷冲皯淇濈暀涓�椤�')
+ return
+ }
+ this.form.solutionList.splice(index, 1)
+ }
+ }
+}
</script>
--
Gitblit v1.9.3