yangfeng
2023-07-20 02a1ab651bb79684cf0656bd6fad0611fe568b2b
服务模块相关接口联调
3 文件已重命名
28个文件已修改
1个文件已删除
1919 ■■■■■ 已修改文件
src/api/service/serviceFeeManage.js 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/serviceManage/orderManage.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/serviceManage/serviceContract.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/serviceManage/serviceFollowup.js 补丁 | 查看 | 原始文档 | blame | 历史
src/components/makepager/TableCommonView.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/client/client/AddClientManageDialog.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/client/client/index.vue 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/client/contacts/index.vue 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/client/followupRecords/index.vue 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/client/salesLead/index.vue 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/sales/contractManage/AddContractManageDialog.vue 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/sales/contractManage/index.vue 48 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/sales/generatePlan/AddGeneratePlanDialog.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/sales/generatePlan/index.vue 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/sales/masterOrder/AddMasterOrderDialog.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/sales/masterOrder/index.vue 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/sales/quotation/AddQuotationDialog.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/sales/quotation/index.vue 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/sales/refundForm/index.vue 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/sales/salesDetails/index.vue 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/sales/salesOpportunity/index.vue 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/sales/salesReturn/index.vue 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/sales/subOrder/AddSubOrderDialog.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/sales/subOrder/index.vue 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/service/orderManage/AddOrderManageDialog.vue 126 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/service/orderManage/index.vue 55 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/service/serviceContract/AddServiceContractDialog.vue 170 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/service/serviceContract/index.vue 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/service/serviceFeeManage/AddServiceFeeManageDialog.vue 453 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/service/serviceFeeManage/index.vue 109 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/service/serviceFollowup/AddServiceFollowupDialog.vue 175 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/service/serviceFollowup/index.vue 60 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/service/serviceFeeManage.js
File was deleted
src/api/serviceManage/orderManage.js
src/api/serviceManage/serviceContract.js
src/api/serviceManage/serviceFollowup.js
src/components/makepager/TableCommonView.vue
@@ -28,7 +28,11 @@
        <template slot-scope="scope">
          <span v-if="item.price">{{ "¥" + number_format(scope.row[item.prop], 2, ".", ",") }}</span>
          <div v-else-if="item.status" :class="scope.row.status">{{ scope.row[item.prop] }}</div>
          <span v-else-if="item.isTime">{{ dateFormat("YYYY-mm-dd HH:MM:SS", scope.row[item.prop]) }}</span>
          <span v-else-if="item.isTime">{{
            dateFormat("YYYY-mm-dd HH:MM:SS", scope.row[item.prop]) === "1900-01-01 08:00:00"
              ? "--"
              : dateFormat("YYYY-mm-dd HH:MM:SS", scope.row[item.prop])
          }}</span>
          <span v-else>{{ scope.row[item.prop] ? scope.row[item.prop] : "--" }}</span>
        </template>
      </el-table-column>
src/views/client/client/AddClientManageDialog.vue
@@ -617,7 +617,7 @@
          country_id: 0,
          desc: "",
          email: data.contact_email || "",
          is_first: false,
          is_first: true,
          member_id: 0,
          name: data.contact_name || "",
          number: "",
src/views/client/client/index.vue
@@ -36,6 +36,7 @@
            <el-button type="text" size="small">变更公海</el-button>
            <el-button @click="handleClick(scope.row)" type="text" size="small">编辑</el-button>
            <el-button type="text" size="small">跟进</el-button>
            <el-button @click="delClick(scope.row.id)" type="text" size="small">删除</el-button>
          </template>
        </el-table-column>
      </template>
@@ -47,7 +48,7 @@
<script>
import AddClientManageDialog from "@/views/client/client/AddClientManageDialog.vue"
import { getClientList } from "@/api/client/client"
import { getClientList, getDeleteClient } from "@/api/client/client"
export default {
  name: "CustomManage",
@@ -166,36 +167,7 @@
    addBtnClick() {
      this.editConfig.visible = true
      this.editConfig.title = "新建"
      this.editConfig.infomation = {
        name: "",
        number: "",
        client_status_id: "",
        member_id: "",
        client_type_id: "",
        clientSource: "",
        client_level_id: "",
        service_member_id: "",
        next_visit_time: "",
        latest_service_time: "",
        contact_name: "",
        contact_phone: "",
        contact_duties: "",
        contact_wechat: "",
        contact_email: "",
        industry_id: "",
        representative: "",
        registration_time: "",
        registered_capital_id: "",
        enterprise_nature_id: "",
        enterprise_scale_id: "",
        business_scope: "",
        country: "",
        province: "",
        city: "",
        region: "",
        detail_address: "",
        remark: ""
      }
      this.editConfig.infomation = {}
    },
    // 编辑
    handleClick(row) {
@@ -212,36 +184,33 @@
      }
      console.log(contactObj)
      this.editConfig.infomation = {
        id: row.id,
        name: row.name,
        number: row.number,
        client_status_id: row.client_status_id,
        member_id: row.member_id,
        client_type_id: row.client_type_id,
        clientSource: row.clientSource,
        client_level_id: row.client_level_id,
        service_member_id: row.service_member_id,
        next_visit_time: row.next_visit_time,
        latest_service_time: row.latest_service_time,
        contact_name: row.contact_name,
        contact_phone: row.contact_phone,
        contact_duties: "",
        ...row,
        contact_wechat: contactObj.length > 0 ? contactObj.wechat : "",
        contact_email: contactObj.length > 0 ? contactObj.email : "",
        industry_id: row.industry_id,
        representative: row.representative,
        registration_time: row.registration_time,
        registered_capital_id: row.registered_capital_id,
        enterprise_nature_id: row.enterprise_nature_id,
        enterprise_scale_id: row.enterprise_scale_id,
        business_scope: row.business_scope,
        country: row.country,
        province: row.province,
        city: row.city,
        region: row.region,
        detail_address: row.detail_address,
        remark: row.remark
        contact_email: contactObj.length > 0 ? contactObj.email : ""
      }
    },
    // 删除
    delClick(id) {
      this.$confirm("是否确认删除?", "警告", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      })
        .then(function () {
          return getDeleteClient({ id: id })
        })
        .then((response) => {
          if (response.code === 200) {
            this.$message.success("删除成功")
            this.getUserList()
          } else {
            this.$message.warning("删除失败")
          }
        })
        .catch(function () {})
    },
    getSelectArray(val) {
      console.log(val)
    }
  }
}
src/views/client/contacts/index.vue
@@ -11,6 +11,7 @@
          <template slot-scope="scope">
            <el-button @click="handleClick(scope.row)" type="text" size="small">编辑</el-button>
            <el-button type="text" size="small">跟进</el-button>
            <el-button @click="delClick(scope.row.id)" type="text" size="small">删除</el-button>
          </template>
        </el-table-column>
      </template>
@@ -22,7 +23,7 @@
<script>
import AddContactsDialog from "@/views/client/contacts/AddContactsDialog"
import { getContactList } from "@/api/client/contacts"
import { getContactList, getDeleteContact } from "@/api/client/contacts"
export default {
  name: "ContactsView",
  props: {},
@@ -117,49 +118,37 @@
    addBtnClick() {
      this.editConfig.visible = true
      this.editConfig.title = "新建"
      this.editConfig.infomation = {
        name: "",
        number: "",
        client_id: "",
        phone: "",
        position: "",
        member_id: "",
        is_first: false,
        wechat: "",
        birthday: "",
        email: "",
        nextFollowupDate: "",
        country_id: "",
        province_id: "",
        city_id: "",
        region_id: "",
        postalCode: "",
        desc: ""
      }
      this.editConfig.infomation = {}
    },
    // 编辑
    handleClick(row) {
      console.log(row)
      this.editConfig.visible = true
      this.editConfig.title = "编辑"
      this.editConfig.infomation = {
        id: row.id,
        birthday: row.birthday,
        city_id: row.city_id,
        client_id: 0,
        country_id: row.country_id,
        desc: row.desc,
        email: row.email,
        is_first: row.is_first || false,
        member_id: row.member_id,
        name: row.name,
        number: row.number,
        phone: row.phone,
        position: row.position,
        province_id: row.province_id,
        region_id: row.region_id,
        wechat: row.wechat
      this.editConfig.infomation = { ...row }
    },
    // 删除
    delClick(id) {
      this.$confirm("是否确认删除?", "警告", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      })
        .then(function () {
          return getDeleteContact({ id: id })
        })
        .then((response) => {
          if (response.code === 200) {
            this.$message.success("删除成功")
            this.getUserList()
          } else {
            this.$message.warning("删除失败")
      }
        })
        .catch(function () {})
    },
    getSelectArray(val) {
      console.log(val)
    }
  }
}
src/views/client/followupRecords/index.vue
@@ -10,6 +10,7 @@
        <el-table-column label="操作" width="120" fixed="right">
          <template slot-scope="scope">
            <el-button @click="handleClick(scope.row)" type="text" size="small">编辑</el-button>
            <el-button @click="delClick(scope.row.id)" type="text" size="small">删除</el-button>
          </template>
        </el-table-column>
      </template>
@@ -21,7 +22,7 @@
<script>
import AddFollowupRecordsDialog from "@/views/client/followupRecords/AddFollowupRecordsDialog"
import { getFollowRecordList } from "@/api/client/followupRecords.js"
import { getFollowRecordList, getDeleteFollowRecord } from "@/api/client/followupRecords.js"
export default {
  name: "FollowupRecords",
@@ -72,15 +73,15 @@
      this.tableList = {
        tableInfomation: [],
        tableColumn: [
          { label: "主题", prop: "topic", min: 190 }, // 主题
          { label: "主题", prop: "topic", min: 120 }, // 主题
          { label: "客户名称", prop: "client_name", min: 190 }, // 客户名称
          { label: "联系人姓名", prop: "contact_name", min: 100 }, // 联系人姓名
          { label: "客户状态", prop: "client_status_id", min: 100 }, // 客户状态
          { label: "联系方式", prop: "phone", min: 100 }, // 联系方式
          { label: "联系人日期", prop: "follow_time", min: 100 }, // 联系人日期
          { label: "下次回访日期", prop: "next_follow_time", min: 130 }, // 下次回访日期
          { label: "负责人", prop: "member_id", min: 120 }, // 负责人
          { label: "跟进记录", prop: "record", min: 120 } // 跟进记录
          { label: "联系人日期", prop: "follow_time", isTime: true, min: 130 }, // 联系人日期
          { label: "下次回访日期", prop: "next_follow_time", isTime: true, min: 130 }, // 下次回访日期
          { label: "负责人", prop: "member_id", min: 110 }, // 负责人
          { label: "跟进记录", prop: "record", min: 130 } // 跟进记录
        ]
      }
      this.searchOptions = []
@@ -126,46 +127,37 @@
    addBtnClick() {
      this.editConfig.visible = true
      this.editConfig.title = "新建"
      this.editConfig.infomation = {
        client_id: "",
        number: "",
        client_status_id: "",
        contact_id: "",
        member_id: "",
        topic: "",
        record: "",
        phoneNumber: "",
        sale_chance_id: "",
        sales_leads_id: "",
        follow_time: "",
        next_follow_time: "",
        purpose: "",
        content: ""
      }
      this.editConfig.infomation = {}
    },
    // 编辑
    handleClick(row) {
      console.log(row)
      this.editConfig.visible = true
      this.editConfig.title = "编辑"
      this.editConfig.infomation = {
        id: row.id,
        client_name: row.client_name,
        client_id: row.client_id,
        number: row.number,
        client_status_id: row.client_status_id,
        contact_id: row.contact_id,
        member_id: row.member_id,
        topic: row.topic,
        record: row.record,
        phoneNumber: "",
        sale_chance_id: row.sale_chance_id,
        sales_leads_id: row.sales_leads_id,
        follow_time: row.follow_time,
        next_follow_time: row.next_follow_time,
        purpose: row.purpose,
        content: row.content
      this.editConfig.infomation = { ...row }
    },
    // 删除
    delClick(id) {
      this.$confirm("是否确认删除?", "警告", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      })
        .then(function () {
          return getDeleteFollowRecord({ id: id })
        })
        .then((response) => {
          if (response.code === 200) {
            this.$message.success("删除成功")
            this.getUserList()
          } else {
            this.$message.warning("删除失败")
      }
        })
        .catch(function () {})
    },
    getSelectArray(val) {
      console.log(val)
    }
  }
}
src/views/client/salesLead/index.vue
@@ -7,11 +7,12 @@
    </div>
    <TableCommonView ref="tableListRef" :table-list="tableList">
      <template slot="tableButton">
        <el-table-column label="操作" width="120">
        <el-table-column label="操作" width="160">
          <template slot-scope="scope">
            <el-button @click="handleClick(scope.row)" type="text" size="small">编辑</el-button>
            <el-button type="text" size="small">跟进</el-button>
            <el-button type="text" size="small">推进</el-button>
            <el-button @click="delClick(scope.row.id)" type="text" size="small">删除</el-button>
          </template>
        </el-table-column>
      </template>
@@ -27,7 +28,7 @@
import AddSalesLeadDialog from "@/views/client/salesLead/AddSalesLeadDialog"
import pageMixin from "@/components/makepager/pager/mixin/pageMixin"
import ImportFileDialog from "@/views/other/commonDialog/ImportFileDialog"
import { getSalesLeadsList } from "@/api/client/salesLead"
import { getSalesLeadsList, getDeleteSalesLeads } from "@/api/client/salesLead"
export default {
  name: "SalesLead",
@@ -80,13 +81,13 @@
        tableInfomation: [],
        tableColumn: [
          { label: "客户名称", prop: "name", min: 190 }, // 客户名称
          { label: "销售线索编号", prop: "number", min: 190 }, // 销售线索编号
          { label: "联系人姓名", prop: "contact_name", min: 190 }, // 联系人姓名
          { label: "手机号码", prop: "contact_phone", min: 190 }, // 手机号码
          { label: "商机来源", prop: "sales_sources_id", min: 190 }, // 商机来源
          { label: "省份", prop: "province", min: 190 }, // 省份
          { label: "城市", prop: "city", min: 190 }, // 城市
          { label: "负责人", prop: "member_id", min: 190 } // 负责人
          { label: "销售线索编号", prop: "number", min: 130 }, // 销售线索编号
          { label: "联系人姓名", prop: "contact_name", min: 130 }, // 联系人姓名
          { label: "手机号码", prop: "contact_phone", min: 130 }, // 手机号码
          { label: "商机来源", prop: "sales_sources_id", min: 130 }, // 商机来源
          { label: "省份", prop: "province", min: 130 }, // 省份
          { label: "城市", prop: "city", min: 130 }, // 城市
          { label: "负责人", prop: "member_id", min: 130 } // 负责人
        ]
      }
      this.searchOptions = []
@@ -101,15 +102,9 @@
        .then((res) => {
          const list = res.data.list.map((item) => {
            return {
              id: item.id,
              name: item.name,
              number: item.number,
              contact_name: item.contact_name,
              contact_phone: item.contact_phone,
              sales_sources_id: item.sales_sources_id,
              ...item,
              province: item.Province.name,
              city: item.City.name,
              member_id: item.member_id
              city: item.City.name
            }
          })
          this.tableList.tableInfomation = list || []
@@ -122,50 +117,42 @@
    addBtnClick() {
      this.editSalesLeadConfig.visible = true
      this.editSalesLeadConfig.title = "新建"
      this.editSalesLeadConfig.infomation = {
        name: "",
        number: "",
        contact_name: "",
        contact_position: "",
        contact_phone: "",
        businessStatus: "新建",
        sales_sources_id: "",
        member_id: "",
        country: "",
        province: "",
        city: "",
        region: "",
        address: "",
        desc: ""
      }
      this.editSalesLeadConfig.infomation = {}
    },
    // 编辑
    handleClick(row) {
      console.log(row)
      this.editSalesLeadConfig.visible = true
      this.editSalesLeadConfig.title = "编辑"
      this.editSalesLeadConfig.infomation = {
        id: row.id,
        name: row.name,
        number: row.number,
        contact_name: row.contact_name,
        contact_position: row.contact_position,
        contact_phone: row.contact_phone,
        businessStatus: "编辑",
        sales_sources_id: row.sales_sources_id,
        member_id: row.member_id,
        country: "",
        province: "",
        city: "",
        region: "",
        address: "",
        desc: row.desc
      }
      this.editSalesLeadConfig.infomation = { ...row }
    },
    // 导入
    importClitk() {
      this.importConfig.visible = true
      this.importConfig.title = "销售线索"
    },
    // 删除
    delClick(id) {
      this.$confirm("是否确认删除?", "警告", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      })
        .then(function () {
          return getDeleteSalesLeads({ id: id })
        })
        .then((response) => {
          if (response.code === 200) {
            this.$message.success("删除成功")
            this.getUserList()
          } else {
            this.$message.warning("删除失败")
          }
        })
        .catch(function () {})
    },
    getSelectArray(val) {
      console.log(val)
    }
  }
}
src/views/sales/contractManage/AddContractManageDialog.vue
@@ -42,7 +42,7 @@
                    size="mini"
                    style="width: 63%"
                  >
                    <el-option v-for="item in memberOptions" :key="item.value" :label="item.label" :value="item.value">
                    <el-option v-for="item in memberOptions" :key="item.id" :label="item.username" :value="item.id">
                    </el-option>
                  </el-select>
                </el-form-item>
@@ -150,7 +150,7 @@
      </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 type="primary" size="small" @click="saveClick('form')">保存</el-button>
        <el-button size="small" @click="editConfig.visible = false">取消</el-button>
      </div>
    </el-dialog>
@@ -186,10 +186,10 @@
      },
      memberOptions: [],
      statusOptions: [
        { value: "1", label: "待审批" },
        { value: "2", label: "审批中" },
        { value: "3", label: "已审批" },
        { value: "4", label: "已归档" }
        { id: "1", name: "待审批" },
        { id: "2", name: "审批中" },
        { id: "3", name: "已审批" },
        { id: "4", name: "已归档" }
      ], // 合同状态
      approvalWorkflowOptions: [], // 审批流程
      unflodCollapseStr: "收起",
@@ -259,8 +259,8 @@
      let data = this.editConfig.infomation
      let params = {
        id: this.editConfig.title === "新建" ? 0 : data.id,
        client_id: data.client_id || 0,
        file: data.file || "",
        client_id: parseInt(data.client_id) || 0,
        file: "",
        member_id: data.member_id || 0,
        number: data.number || "",
        quotation_id: data.quotation_id || 0,
src/views/sales/contractManage/index.vue
@@ -20,6 +20,7 @@
        <el-table-column label="操作" width="100">
          <template slot-scope="scope">
            <el-button @click="handleClick(scope.row)" type="text" size="small">编辑</el-button>
            <el-button @click="delClick(scope.row.id)" type="text" size="small">删除</el-button>
          </template>
        </el-table-column>
      </template>
@@ -31,7 +32,7 @@
<script>
import AddContractManageDialog from "@/views/sales/contractManage/AddContractManageDialog"
import { getContractList } from "@/api/sales/contractManage"
import { getContractList, getDelContract } from "@/api/sales/contractManage"
export default {
  name: "ContractManage",
@@ -127,34 +128,37 @@
    addBtnClick() {
      this.editConfig.visible = true
      this.editConfig.title = "新建"
      this.editConfig.infomation = {
        customName: "",
        documentNumber: "ZDYBD01-3",
        owner: "",
        contractStatus: "",
        salesQuotation: "",
        approvalWorkflow: "",
        approvalSteps: "",
        approvalPerson: "",
        approvalOpinion: ""
      }
      this.editConfig.infomation = {}
    },
    // 编辑
    handleClick(row) {
      console.log(row)
      this.editConfig.visible = true
      this.editConfig.title = "编辑"
      this.editConfig.infomation = {
        customName: "",
        documentNumber: "TKD20230521-12",
        owner: "",
        contractStatus: "",
        salesQuotation: "",
        approvalWorkflow: "",
        approvalSteps: "",
        approvalPerson: "",
        approvalOpinion: ""
      this.editConfig.infomation = { ...row }
    },
    // 删除
    delClick(id) {
      this.$confirm("是否确认删除?", "警告", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      })
        .then(function () {
          return getDelContract({ id: id })
        })
        .then((response) => {
          if (response.code === 200) {
            this.$message.success("删除成功")
            this.getUserList()
          } else {
            this.$message.warning("删除失败")
      }
        })
        .catch(function () {})
    },
    getSelectArray(val) {
      console.log(val)
    }
  }
}
src/views/sales/generatePlan/AddGeneratePlanDialog.vue
@@ -42,7 +42,7 @@
                    size="mini"
                    style="width: 63%"
                  >
                    <el-option v-for="item in memberOptions" :key="item.value" :label="item.label" :value="item.value">
                    <el-option v-for="item in memberOptions" :key="item.id" :label="item.username" :value="item.id">
                    </el-option>
                  </el-select>
                </el-form-item>
@@ -130,7 +130,7 @@
        </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="saveClick('form')">保存</el-button>
        <el-button size="small" @click="editConfig.visible = false">取消</el-button>
      </div>
    </el-dialog>
@@ -233,7 +233,7 @@
      let params = {
        id: this.editConfig.title === "新建" ? 0 : data.id,
        plan: {
          clientId: data.clientId || 0,
          clientId: parseInt(data.clientId) || 0,
          content: data.content || "",
          endTime: data.endTime || "",
          file: data.file || "",
src/views/sales/generatePlan/index.vue
@@ -10,6 +10,7 @@
        <el-table-column label="操作" width="100">
          <template slot-scope="scope">
            <el-button @click="handleClick(scope.row)" type="text" size="small">编辑</el-button>
            <el-button @click="delClick(scope.row.id)" type="text" size="small">删除</el-button>
          </template>
        </el-table-column>
      </template>
@@ -21,7 +22,7 @@
<script>
import AddGeneratePlanDialog from "@/views/sales/generatePlan/AddGeneratePlanDialog"
import { getPlanList } from "@/api/sales/generatePlan"
import { getPlanList, getDelPlan } from "@/api/sales/generatePlan"
export default {
  name: "GeneratePlan",
@@ -125,6 +126,29 @@
      this.editConfig.visible = true
      this.editConfig.title = "编辑"
      this.editConfig.infomation = { ...row }
    },
    // 删除
    delClick(id) {
      this.$confirm("是否确认删除?", "警告", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      })
        .then(function () {
          return getDelPlan({ id: id })
        })
        .then((response) => {
          if (response.code === 200) {
            this.$message.success("删除成功")
            this.getUserList()
          } else {
            this.$message.warning("删除失败")
          }
        })
        .catch(function () {})
    },
    getSelectArray(val) {
      console.log(val)
    }
  }
}
src/views/sales/masterOrder/AddMasterOrderDialog.vue
@@ -42,7 +42,7 @@
                    size="mini"
                    style="width: 63%"
                  >
                    <el-option v-for="item in memberOptions" :key="item.id" :label="item.name" :value="item.id">
                    <el-option v-for="item in memberOptions" :key="item.id" :label="item.username" :value="item.id">
                    </el-option>
                  </el-select>
                </el-form-item>
@@ -204,10 +204,10 @@
      let data = this.editConfig.infomation
      let params = {
        id: this.editConfig.title === "新建" ? 0 : data.id,
        client_id: data.client_id || 0,
        client_id: parseInt(data.client_id) || 0,
        end_time: data.end_time || "",
        member_id: data.member_id || 0,
        money: data.money || "",
        money: parseFloat(data.money) || "0",
        number: data.number || "",
        start_time: data.start_time || ""
      }
src/views/sales/masterOrder/index.vue
@@ -7,9 +7,10 @@
    </div>
    <TableCommonView ref="tableListRef" :show-summary="showSummary" :table-list="tableList">
      <template slot="tableButton">
        <el-table-column label="操作" width="60">
        <el-table-column label="操作" width="90">
          <template slot-scope="scope">
            <el-button @click="handleClick(scope.row)" type="text" size="small">编辑</el-button>
            <el-button @click="delClick(scope.row.id)" type="text" size="small">删除</el-button>
          </template>
        </el-table-column>
      </template>
@@ -21,7 +22,7 @@
<script>
import AddMasterOrderDialog from "@/views/sales/masterOrder/AddMasterOrderDialog"
import { getMasterOrderList } from "@/api/sales/masterOrder"
import { getMasterOrderList, getDelMasterOrder } from "@/api/sales/masterOrder"
export default {
  name: "MasterOrder",
@@ -75,8 +76,8 @@
        tableColumn: [
          { label: "单据编号", prop: "number", min: 100 }, // 单据编号
          { label: "客户名称", prop: "client_id", min: 120 }, // 客户名称
          { label: "服务开始时间", prop: "start_time", min: 90 }, // 服务开始时间
          { label: "服务截止时间", prop: "end_time" }, // 服务截止时间
          { label: "服务开始时间", prop: "start_time", isTime: true }, // 服务开始时间
          { label: "服务截止时间", prop: "end_time", isTime: true }, // 服务截止时间
          { label: "合同金额", prop: "money" }, // 合同金额
          { label: "负责人", prop: "member_id" } // 负责人
          // { label: "审批状态", prop: "approvalStatus" } // 审批状态
@@ -128,6 +129,29 @@
      this.editConfig.visible = true
      this.editConfig.title = "编辑"
      this.editConfig.infomation = { ...row }
    },
    // 删除
    delClick(id) {
      this.$confirm("是否确认删除?", "警告", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      })
        .then(function () {
          return getDelMasterOrder({ id: id })
        })
        .then((response) => {
          if (response.code === 200) {
            this.$message.success("删除成功")
            this.getUserList()
          } else {
            this.$message.warning("删除失败")
          }
        })
        .catch(function () {})
    },
    getSelectArray(val) {
      console.log(val)
    }
  }
}
src/views/sales/quotation/AddQuotationDialog.vue
@@ -80,7 +80,7 @@
                    size="mini"
                    style="width: 63%"
                  >
                    <el-option v-for="item in memberOptions" :key="item.id" :label="item.name" :value="item.id">
                    <el-option v-for="item in memberOptions" :key="item.id" :label="item.username" :value="item.id">
                    </el-option>
                  </el-select>
                </el-form-item>
src/views/sales/quotation/index.vue
@@ -12,9 +12,10 @@
    </div>
    <TableCommonView ref="tableListRef" :table-list="tableList">
      <template slot="tableButton">
        <el-table-column label="操作" width="60">
        <el-table-column label="操作" width="90">
          <template slot-scope="scope">
            <el-button @click="handleClick(scope.row)" type="text" size="small">编辑</el-button>
            <el-button @click="delClick(scope.row.id)" type="text" size="small">删除</el-button>
          </template>
        </el-table-column>
      </template>
@@ -26,7 +27,7 @@
<script>
import AddQuotationDialog from "@/views/sales/quotation/AddQuotationDialog"
import { getQuotationList } from "@/api/sales/quotation"
import { getQuotationList, getDelQuotation } from "@/api/sales/quotation"
export default {
  name: "QuotationView",
@@ -79,7 +80,7 @@
          { label: "客户名称", prop: "client_name", min: 120 }, // 客户名称
          { label: "联系人姓名", prop: "contact_name", min: 90 }, // 联系人姓名
          { label: "销售负责人", prop: "member_id" }, // 销售负责人
          { label: "有效期", prop: "validity_date", min: 100 }, // 修改时间
          { label: "有效期", prop: "validity_date", isTime: true, min: 100 }, // 修改时间
          { label: "小计", prop: "subTotal" }, // 小计
          { label: "合计", prop: "total" }, // 合计
          { label: "产品名称", prop: "productName" }, // 产品名称
@@ -135,6 +136,29 @@
      this.editConfig.visible = true
      this.editConfig.title = "编辑"
      this.editConfig.infomation = { ...row }
    },
    // 删除
    delClick(id) {
      this.$confirm("是否确认删除?", "警告", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      })
        .then(function () {
          return getDelQuotation({ id: id })
        })
        .then((response) => {
          if (response.code === 200) {
            this.$message.success("删除成功")
            this.getUserList()
          } else {
            this.$message.warning("删除失败")
          }
        })
        .catch(function () {})
    },
    getSelectArray(val) {
      console.log(val)
    }
  }
}
src/views/sales/refundForm/index.vue
@@ -10,6 +10,7 @@
        <el-table-column label="操作" width="100">
          <template slot-scope="scope">
            <el-button @click="handleClick(scope.row)" type="text" size="small">编辑</el-button>
            <el-button @click="delClick(scope.row.id)" type="text" size="small">删除</el-button>
          </template>
        </el-table-column>
      </template>
@@ -21,7 +22,7 @@
<script>
import AddRefundFormDialog from "@/views/sales/refundForm/AddRefundFormDialog"
import { getSalesRefundList } from "@/api/sales/refundForm"
import { getSalesRefundList, getDelSalesRefund } from "@/api/sales/refundForm"
export default {
  name: "RefundForm",
@@ -72,7 +73,7 @@
        tableColumn: [
          { label: "退款单编号", prop: "number" },
          { label: "客户名称", prop: "clientId", min: 120 },
          { label: "退款日期", prop: "refundDate", min: 90 },
          { label: "退款日期", prop: "refundDate", isTime: true, min: 130 },
          { label: "账户", prop: "accountId" },
          { label: "是否开票", prop: "isInvoice", min: 100 },
          { label: "付款方式", prop: "refundMethod" },
@@ -127,6 +128,29 @@
      this.editConfig.visible = true
      this.editConfig.title = "编辑"
      this.editConfig.infomation = { ...row }
    },
    // 删除
    delClick(id) {
      this.$confirm("是否确认删除?", "警告", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      })
        .then(function () {
          return getDelSalesRefund({ id: id })
        })
        .then((response) => {
          if (response.code === 200) {
            this.$message.success("删除成功")
            this.getUserList()
          } else {
            this.$message.warning("删除失败")
          }
        })
        .catch(function () {})
    },
    getSelectArray(val) {
      console.log(val)
    }
  }
}
src/views/sales/salesDetails/index.vue
@@ -7,9 +7,10 @@
    </div>
    <TableCommonView ref="tableListRef" :show-summary="showSummary" :table-list="tableList">
      <template slot="tableButton">
        <el-table-column label="操作" width="60">
        <el-table-column label="操作" width="90">
          <template slot-scope="scope">
            <el-button @click="handleClick(scope.row)" type="text" size="small">编辑</el-button>
            <el-button @click="delClick(scope.row.id)" type="text" size="small">删除</el-button>
          </template>
        </el-table-column>
      </template>
@@ -21,7 +22,7 @@
<script>
import AddSalesDetailsDialog from "@/views/sales/salesDetails/AddSalesDetailsDialog"
import { getSalesDetailsList } from "@/api/sales/salesDetails"
import { getSalesDetailsList, getDelSalesDetails } from "@/api/sales/salesDetails"
export default {
  name: "SalesDetails",
@@ -87,7 +88,7 @@
        tableColumn: [
          { label: "订单编号", prop: "number" },
          { label: "客户名称", prop: "clientId" },
          { label: "签约日期", prop: "signTime" },
          { label: "签约日期", prop: "signTime", isTime: true, width: 150 },
          { label: "销售负责人", prop: "memberId" },
          { label: "出库状态", prop: "outboundStatus" },
          { label: "已收总额", prop: "receiveTotalAmount", price: true },
@@ -96,7 +97,7 @@
          { label: "已开票金额", prop: "invoicedAmount", price: true },
          { label: "未开票金额", prop: "uninvoicedAmount", price: true },
          { label: "产品名称", prop: "productName" },
          { label: "数量", prop: "number" },
          { label: "数量", prop: "number1" },
          { label: "含税单价", prop: "taxUnitPrice", price: true },
          { label: "未出库数量", prop: "unOutoundNo" },
          { label: "价税合计", prop: "priceTax", price: true }
@@ -148,6 +149,29 @@
      this.editConfig.visible = true
      this.editConfig.title = "编辑"
      this.editConfig.infomation = { ...row }
    },
    // 删除
    delClick(id) {
      this.$confirm("是否确认删除?", "警告", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      })
        .then(function () {
          return getDelSalesDetails({ id: id })
        })
        .then((response) => {
          if (response.code === 200) {
            this.$message.success("删除成功")
            this.getUserList()
          } else {
            this.$message.warning("删除失败")
          }
        })
        .catch(function () {})
    },
    getSelectArray(val) {
      console.log(val)
    }
  }
}
src/views/sales/salesOpportunity/index.vue
@@ -12,10 +12,11 @@
    </div>
    <TableCommonView ref="tableListRef" :table-list="tableList">
      <template slot="tableButton">
        <el-table-column label="操作" width="100">
        <el-table-column label="操作" width="120">
          <template slot-scope="scope">
            <el-button @click="handleClick(scope.row)" type="text" size="small">编辑</el-button>
            <el-button type="text" size="small">跟进</el-button>
            <el-button @click="delClick(scope.row.id)" type="text" size="small">删除</el-button>
          </template>
        </el-table-column>
      </template>
@@ -27,7 +28,7 @@
<script>
import AddSalesOpportunityDialog from "@/views/sales/salesOpportunity/AddSalesOpportunityDialog"
import { getSaleChanceList } from "@/api/sales/salesOpportunity"
import { getSaleChanceList, getDelSaleChance } from "@/api/sales/salesOpportunity"
export default {
  name: "SalesOpportunity",
@@ -91,7 +92,7 @@
          { label: "联系人姓名", prop: "contact_name", min: 100 }, // 联系人姓名
          { label: "销售阶段", prop: "sale_stage_id" }, // 销售阶段
          { label: "可能性(%)", prop: "possibilities_id" }, // 可能性
          { label: "预计成交日期", prop: "expected_time" }, // 预计成交日期
          { label: "预计成交日期", prop: "expected_time", isTime: true, min: 130 }, // 预计成交日期
          { label: "预计合同金额", prop: "projected_amount" }, // 预计合同金额
          { label: "预算绝对值", prop: "capital_budget" }, // 预算绝对值
          { label: "销售负责人", prop: "member_id" } // 销售负责人
@@ -145,6 +146,29 @@
      this.editConfig.visible = true
      this.editConfig.title = "编辑"
      this.editConfig.infomation = { ...row }
    },
    // 删除
    delClick(id) {
      this.$confirm("是否确认删除?", "警告", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      })
        .then(function () {
          return getDelSaleChance({ id: id })
        })
        .then((response) => {
          if (response.code === 200) {
            this.$message.success("删除成功")
            this.getUserList()
          } else {
            this.$message.warning("删除失败")
          }
        })
        .catch(function () {})
    },
    getSelectArray(val) {
      console.log(val)
    }
  }
}
src/views/sales/salesReturn/index.vue
@@ -7,9 +7,10 @@
    </div>
    <TableCommonView ref="tableListRef" :table-list="tableList">
      <template slot="tableButton">
        <el-table-column label="操作" width="60">
        <el-table-column label="操作" width="90">
          <template slot-scope="scope">
            <el-button @click="handleClick(scope.row)" type="text" size="small">编辑</el-button>
            <el-button @click="delClick(scope.row.id)" type="text" size="small">删除</el-button>
          </template>
        </el-table-column>
      </template>
@@ -21,7 +22,7 @@
<script>
import AddSalesReturnDialog from "@/views/sales/salesReturn/AddSalesReturnDialog"
import { getSalesReturnList } from "@/api/sales/salesReturn"
import { getSalesReturnList, getDelSalesReturn } from "@/api/sales/salesReturn"
export default {
  name: "SalesReturn",
@@ -73,13 +74,13 @@
        tableColumn: [
          { label: "销售退货单编号", prop: "number", min: 120 },
          { label: "客户名称", prop: "clientId", min: 90 },
          { label: "退货日期", prop: "returnDate", min: 100 },
          { label: "退货日期", prop: "returnDate", isTime: true, min: 130 },
          { label: "状态", prop: "status" },
          { label: "退入仓库", prop: "repository" },
          { label: "应退款", prop: "refundabe" },
          { label: "已退款", prop: "refunded" },
          { label: "销售负责人", prop: "memberId" },
          { label: "修改时间", prop: "modifyTime" }
          { label: "销售负责人", prop: "memberId" }
          // { label: "修改时间", prop: "modifyTime", isTime: true, min: 130 }
        ]
      }
      this.searchOptions = []
@@ -128,6 +129,29 @@
      this.editConfig.visible = true
      this.editConfig.title = "编辑"
      this.editConfig.infomation = { ...row }
    },
    // 删除
    delClick(id) {
      this.$confirm("是否确认删除?", "警告", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      })
        .then(function () {
          return getDelSalesReturn({ id: id })
        })
        .then((response) => {
          if (response.code === 200) {
            this.$message.success("删除成功")
            this.getUserList()
          } else {
            this.$message.warning("删除失败")
          }
        })
        .catch(function () {})
    },
    getSelectArray(val) {
      console.log(val)
    }
  }
}
src/views/sales/subOrder/AddSubOrderDialog.vue
@@ -51,7 +51,7 @@
                    size="mini"
                    style="width: 63%"
                  >
                    <el-option v-for="item in memberOptions" :key="item.value" :label="item.label" :value="item.value">
                    <el-option v-for="item in memberOptions" :key="item.id" :label="item.username" :value="item.id">
                    </el-option>
                  </el-select>
                </el-form-item>
@@ -166,7 +166,7 @@
        </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="saveClick('form')">保存</el-button>
        <el-button size="small" @click="editConfig.visible = false">取消</el-button>
      </div>
    </el-dialog>
@@ -178,7 +178,7 @@
import { getAllData } from "@/api/client/client"
import { getAddSubOrder, getUpdateSubOrder } from "@/api/sales/subOrder"
export default {
  name: "QuotationDialog",
  name: "SubOrderDialog",
  components: { CommonFormTableView },
  props: {
    editCommonConfig: {
@@ -230,7 +230,10 @@
    getCommonData() {
      getAllData()
        .then((res) => {
          console.log(res)
          if (res.code === 200) {
          this.memberOptions = res.data.member
          }
        })
        .catch((err) => {
          console.log(err)
@@ -286,8 +289,8 @@
      let data = this.editConfig.infomation
      let params = {
        id: this.editConfig.title === "新建" ? 0 : data.id,
        clientId: data.clientId || 0,
        masterOrderId: data.masterOrderId || 0,
        clientId: parseInt(data.client_id) || 0,
        masterOrderId: parseInt(data.masterOrderId) || 0,
        memberId: data.memberId || 0,
        number: data.number || "",
        product: [
src/views/sales/subOrder/index.vue
@@ -7,9 +7,10 @@
    </div>
    <TableCommonView ref="tableListRef" :show-summary="showSummary" :table-list="tableList">
      <template slot="tableButton">
        <el-table-column label="操作" width="60">
        <el-table-column label="操作" width="90">
          <template slot-scope="scope">
            <el-button @click="handleClick(scope.row)" type="text" size="small">编辑</el-button>
            <el-button @click="delClick(scope.row.id)" type="text" size="small">删除</el-button>
          </template>
        </el-table-column>
      </template>
@@ -21,7 +22,7 @@
<script>
import AddSubOrderDialog from "@/views/sales/subOrder/AddSubOrderDialog"
import { getSubOrderList } from "@/api/sales/subOrder"
import { getSubOrderList, getDelSubOrder } from "@/api/sales/subOrder"
export default {
  name: "SubOrder",
@@ -124,30 +125,37 @@
    addBtnClick() {
      this.editConfig.visible = true
      this.editConfig.title = "新建"
      this.editConfig.infomation = {
        customName: "",
        documentNumber: "AC6521",
        masterOrder: "",
        owner: "",
        currency: "",
        discount: "",
        total: ""
      }
      this.editConfig.infomation = {}
    },
    // 编辑
    handleClick(row) {
      console.log(row)
      this.editConfig.visible = true
      this.editConfig.title = "编辑"
      this.editConfig.infomation = {
        customName: "",
        documentNumber: "AC6521",
        masterOrder: "",
        owner: "",
        currency: "",
        discount: "",
        total: "14.00"
      this.editConfig.infomation = { ...row }
    },
    // 删除
    delClick(id) {
      this.$confirm("是否确认删除?", "警告", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      })
        .then(function () {
          return getDelSubOrder({ id: id })
        })
        .then((response) => {
          if (response.code === 200) {
            this.$message.success("删除成功")
            this.getUserList()
          } else {
            this.$message.warning("删除失败")
      }
        })
        .catch(function () {})
    },
    getSelectArray(val) {
      console.log(val)
    }
  }
}
src/views/service/orderManage/AddOrderManageDialog.vue
@@ -22,54 +22,70 @@
          <div class="basic-info-view">
            <el-row>
              <el-col :span="12">
                <el-form-item label="客户名称" prop="customName">
                <el-form-item label="客户名称" prop="clientId">
                  <div class="custom-name">
                    <el-input v-model="editConfig.infomation.customName"></el-input>
                    <el-input v-model="editConfig.infomation.clientId"></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="orderNumber">
                  <el-input v-model="editConfig.infomation.orderNumber"></el-input>
                <el-form-item label="工单编号" prop="number">
                  <el-input v-model="editConfig.infomation.number"></el-input>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="工单名称" prop="orderName">
                  <el-input v-model="editConfig.infomation.orderName"></el-input>
                <el-form-item label="工单名称" prop="name">
                  <el-input v-model="editConfig.infomation.name"></el-input>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="工单类型" prop="orderType">
                  <CommonSelectView
                    :common-value="editConfig.infomation.orderType"
                    :common-options="orderTypeOptions"
                  />
                  <div class="common-select">
                    <el-select
                      v-model="editConfig.infomation.orderType"
                      placeholder="请选择"
                      class="common-select-sel"
                      size="mini"
                    >
                      <el-option v-for="item in orderTypeOptions" :key="item.id" :label="item.name" :value="item.id">
                      </el-option>
                    </el-select>
                    <div class="common-select-btn"><i class="el-icon-setting"></i></div>
                  </div>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="联系人姓名" prop="contactName">
                <el-form-item label="联系人姓名" prop="contactId">
                  <div class="custom-name">
                    <el-input v-model="editConfig.infomation.contactName"></el-input>
                    <el-input v-model="editConfig.infomation.contactId"></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="repairSource">
                  <CommonSelectView
                    :common-value="editConfig.infomation.repairSource"
                    :common-options="repairSourceOptions"
                  />
                <el-form-item label="报修来源" prop="reportSourceId">
                  <div class="common-select">
                    <el-select
                      v-model="editConfig.infomation.reportSourceId"
                      placeholder="请选择"
                      class="common-select-sel"
                      size="mini"
                    >
                      <el-option v-for="item in reportSourceOptions" :key="item.id" :label="item.name" :value="item.id">
                      </el-option>
                    </el-select>
                    <div class="common-select-btn"><i class="el-icon-setting"></i></div>
                  </div>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="选择源单" prop="selSourceOrder">
                  <el-select v-model="editConfig.infomation.selSourceOrder" size="mini">
              <!-- <el-col :span="12">
                <el-form-item label="选择源单" prop="sourceSheet">
                  <el-select v-model="editConfig.infomation.sourceSheet" size="mini">
                    <el-option
                      v-for="item in selSourceOrderOptions"
                      v-for="item in sourceSheetOptions"
                      :key="item.value"
                      :label="item.label"
                      :value="item.value"
@@ -77,7 +93,7 @@
                    </el-option>
                  </el-select>
                </el-form-item>
              </el-col>
              </el-col> -->
            </el-row>
          </div>
          <!-- 问题描述 -->
@@ -85,12 +101,12 @@
          <div class="basic-info-view">
            <el-row>
              <el-col :span="24">
                <el-form-item label="问题描述" prop="problemDesc">
                <el-form-item label="问题描述" prop="problemDescription">
                  <el-input
                    type="textarea"
                    :autosize="{ minRows: 2, maxRows: 4 }"
                    placeholder="请输入内容"
                    v-model="editConfig.infomation.problemDesc"
                    v-model="editConfig.infomation.problemDescription"
                  ></el-input>
                </el-form-item>
              </el-col>
@@ -124,7 +140,7 @@
            </el-row>
          </div>
          <!-- 选择审批流程 -->
          <div class="basic-info-title">选择审批流程</div>
          <!-- <div class="basic-info-title">选择审批流程</div>
          <div class="basic-info-view">
            <el-row>
              <el-col :span="20">
@@ -162,13 +178,13 @@
                </el-form-item>
              </el-col>
            </el-row>
          </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 type="primary" size="small" @click="editConfig.visible = false">保存</el-button>
        <!-- <el-button type="primary" size="small" @click="editConfig.visible = false">保并提交审批</el-button> -->
        <el-button type="primary" size="small" @click="saveClick('form')">保存</el-button>
        <el-button size="small" @click="editConfig.visible = false">取消</el-button>
      </div>
    </el-dialog>
@@ -176,9 +192,8 @@
</template>
<script>
import CommonSelectView from "@/components/makepager/CommonSelectView"
import { getAllData } from "@/api/client/client"
import { getAddSubOrder, getUpdateSubOrder } from "@/api/sales/subOrder"
import { getAddOrderManage, getUpdateOrderManage } from "@/api/serviceManage/orderManage"
export default {
  name: "AddOrderManageDialog",
  props: {
@@ -193,7 +208,7 @@
      }
    }
  },
  components: { CommonSelectView },
  components: {},
  computed: {
    searchCommonHeight() {
      return this.$refs.searchCommonView.offsetHeight
@@ -204,14 +219,14 @@
      dialogWidth: "80%",
      editConfig: this.editCommonConfig,
      rules: {
        customName: [{ required: true, message: "请输入客户名称", trigger: "blur" }],
        orderNumber: [{ required: true, message: "请输入工单编号", trigger: "blur" }],
        clientId: [{ required: true, message: "请输入客户名称", trigger: "blur" }],
        number: [{ required: true, message: "请输入工单编号", trigger: "blur" }],
        orderType: [{ required: true, message: "请选择", trigger: "change" }],
        problemDesc: [{ required: true, message: "请输入问题描述", trigger: "blur" }]
        problemDescription: [{ required: true, message: "请输入问题描述", trigger: "blur" }]
      },
      orderTypeOptions: [], // 工单类型
      repairSourceOptions: [], // 报修来源
      selSourceOrderOptions: [
      orderTypeOptions: [{ id: 1, name: "类型1" }], // 工单类型
      reportSourceOptions: [], // 报修来源
      sourceSheetOptions: [
        { value: "1", label: "销售明细单" },
        { value: "2", label: "服务合同" }
      ],
@@ -239,7 +254,7 @@
          const params = this.saveParams()
          console.log(params)
          if (this.editConfig.title === "新建") {
            getAddSubOrder(params)
            getAddOrderManage(params)
              .then((res) => {
                console.log(res)
                this.editConfig.visible = false
@@ -255,7 +270,7 @@
                console.log(err)
              })
          } else {
            getUpdateSubOrder(params)
            getUpdateOrderManage(params)
              .then((res) => {
                console.log(res)
                this.editConfig.visible = false
@@ -281,21 +296,15 @@
      let data = this.editConfig.infomation
      let params = {
        id: this.editConfig.title === "新建" ? 0 : data.id,
        clientId: data.clientId || 0,
        masterOrderId: data.masterOrderId || 0,
        memberId: data.memberId || 0,
        clientId: parseInt(data.clientId) || 0,
        contactId: data.contactId || 0,
        file: data.file || "",
        name: data.name || "",
        number: data.number || "",
        product: [
          {
            amount: 0,
            desc: "",
            id: 0,
            name: "",
            number: "",
            price: 0,
            total: 0
          }
        ]
        orderType: data.orderType || 0,
        problemDescription: data.problemDescription || "",
        reportSourceId: data.reportSourceId || 0,
        sourceSheet: data.sourceSheet || 0
      }
      return params
    },
@@ -333,6 +342,17 @@
          font-size: 18px;
        }
      }
      .common-select {
        display: flex;
        .common-select-sel {
          width: 270px;
        }
        .common-select-btn {
          margin-left: 5px;
          font-size: 16px;
          cursor: pointer;
        }
      }
    }
    .annex-view {
      display: flex;
src/views/service/orderManage/index.vue
@@ -16,9 +16,10 @@
    </div>
    <TableCommonView ref="tableListRef" :table-list="tableList">
      <template slot="tableButton">
        <el-table-column label="操作" width="120">
        <el-table-column label="操作" width="90">
          <template slot-scope="scope">
            <el-button @click="handleClick(scope.row)" type="text" size="small">编辑</el-button>
            <el-button @click="delClick(scope.row.id)" type="text" size="small">删除</el-button>
          </template>
        </el-table-column>
      </template>
@@ -30,7 +31,7 @@
<script>
import AddOrderManageDialog from "@/views/service/orderManage/AddOrderManageDialog"
import { getOrderManageList } from "@/api/serviceManage/orderManage"
import { getOrderManageList, getDelOrderManage } from "@/api/serviceManage/orderManage"
export default {
  name: "SalesLead",
@@ -132,39 +133,37 @@
    addBtnClick() {
      this.editConfig.visible = true
      this.editConfig.title = "新建"
      this.editConfig.infomation = {
        customName: "",
        orderNumber: "CS21",
        orderName: "",
        orderType: "",
        contactName: "",
        repairSource: "",
        selSourceOrder: "",
        problemDesc: "",
        approvalWorkflow: "",
        approvalSteps: "",
        approvalPerson: "",
        approvalOpinion: ""
      }
      this.editConfig.infomation = {}
    },
    // 编辑
    handleClick(row) {
      console.log(row)
      this.editConfig.visible = true
      this.editConfig.title = "编辑"
      this.editConfig.infomation = {
        orderNumber: row.orderNumber,
        orderName: row.orderName,
        orderType: row.orderType,
        contactName: row.contactName,
        repairSource: row.repairSource,
        selSourceOrder: row.selSourceOrder,
        problemDesc: row.problemDesc,
        approvalWorkflow: "",
        approvalSteps: "",
        approvalPerson: "",
        approvalOpinion: ""
      this.editConfig.infomation = { ...row }
    },
    // 删除
    delClick(id) {
      this.$confirm("是否确认删除?", "警告", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      })
        .then(function () {
          return getDelOrderManage({ id: id })
        })
        .then((response) => {
          if (response.code === 200) {
            this.$message.success("删除成功")
            this.getUserList()
          } else {
            this.$message.warning("删除失败")
      }
        })
        .catch(function () {})
    },
    getSelectArray(val) {
      console.log(val)
    }
  }
}
src/views/service/serviceContract/AddServiceContractDialog.vue
@@ -22,86 +22,99 @@
          <div class="basic-info-view">
            <el-row>
              <el-col :span="12">
                <el-form-item label="客户名称" prop="customName">
                <el-form-item label="客户名称" prop="clientId">
                  <div class="custom-name">
                    <el-input v-model="editConfig.infomation.customName"></el-input>
                    <el-input v-model="editConfig.infomation.clientId"></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="serviceContractNumber">
                  <el-input v-model="editConfig.infomation.serviceContractNumber"></el-input>
                <el-form-item label="服务合同编号" prop="number">
                  <el-input v-model="editConfig.infomation.number"></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-form-item label="负责人" prop="memberId">
                  <el-select
                    v-model="editConfig.infomation.memberId"
                    placeholder="请选择"
                    size="mini"
                    style="width: 63%"
                  >
                    <el-option v-for="item in memberOptions" :key="item.id" :label="item.username" :value="item.id">
                    </el-option>
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="联系人姓名" prop="contactName">
                <el-form-item label="联系人姓名" prop="contactId">
                  <div class="custom-name">
                    <el-input v-model="editConfig.infomation.contactName"></el-input>
                    <el-input v-model="editConfig.infomation.contactId"></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="salesOpportunity">
                <el-form-item label="销售机会" prop="saleChanceId">
                  <div class="custom-name">
                    <el-input v-model="editConfig.infomation.salesOpportunity"></el-input>
                    <el-input v-model="editConfig.infomation.saleChanceId"></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="contractOrder">
                <el-form-item label="合同订单" prop="contractId">
                  <div class="custom-name">
                    <el-input v-model="editConfig.infomation.contractOrder"></el-input>
                    <el-input v-model="editConfig.infomation.contractId"></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="quotation">
                <el-form-item label="报价单" prop="quotationId">
                  <div class="custom-name">
                    <el-input v-model="editConfig.infomation.quotation"></el-input>
                    <el-input v-model="editConfig.infomation.quotationId"></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="contractType">
                  <CommonSelectView
                    :common-value="editConfig.infomation.contractType"
                    :common-options="contractTypeOptions"
                  />
                <el-form-item label="合同类型" prop="typeId">
                  <div class="common-select">
                    <el-select
                      v-model="editConfig.infomation.typeId"
                      placeholder="请选择"
                      class="common-select-sel"
                      size="mini"
                    >
                      <el-option v-for="item in contractTypeOptions" :key="item.id" :label="item.name" :value="item.id">
                      </el-option>
                    </el-select>
                    <div class="common-select-btn"><i class="el-icon-setting"></i></div>
                  </div>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="签约日期" prop="signDate">
                  <el-date-picker v-model="editConfig.infomation.signDate" type="date" placeholder="选择日期">
                <el-form-item label="签约日期" prop="signTime">
                  <el-date-picker v-model="editConfig.infomation.signTime" type="date" placeholder="选择日期">
                  </el-date-picker>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="服务开始日期" prop="startDate">
                  <el-date-picker v-model="editConfig.infomation.startDate" type="date" placeholder="选择日期">
                <el-form-item label="服务开始日期" prop="startTime">
                  <el-date-picker v-model="editConfig.infomation.startTime" type="date" placeholder="选择日期">
                  </el-date-picker>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="服务到期日" prop="endDate">
                  <el-date-picker v-model="editConfig.infomation.endDate" type="date" placeholder="选择日期">
                <el-form-item label="服务到期日" prop="endTime">
                  <el-date-picker v-model="editConfig.infomation.endTime" type="date" placeholder="选择日期">
                  </el-date-picker>
                </el-form-item>
              </el-col>
@@ -112,31 +125,44 @@
          <div class="basic-info-view">
            <el-row>
              <el-col :span="12">
                <el-form-item label="合同状态" prop="contractStatus">
                  <CommonSelectView
                    :common-value="editConfig.infomation.contractStatus"
                    :common-options="contractStatusOptions"
                  />
                <el-form-item label="合同状态" prop="statusId">
                  <div class="common-select">
                    <el-select
                      v-model="editConfig.infomation.statusId"
                      placeholder="请选择"
                      class="common-select-sel"
                      size="mini"
                    >
                      <el-option
                        v-for="item in contractStatusOptions"
                        :key="item.id"
                        :label="item.name"
                        :value="item.id"
                      >
                      </el-option>
                    </el-select>
                    <div class="common-select-btn"><i class="el-icon-setting"></i></div>
                  </div>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="应服务次数" prop="serviceNumber">
                  <el-input v-model="editConfig.infomation.serviceNumber"></el-input>
                <el-form-item label="应服务次数" prop="serviceTimes">
                  <el-input v-model="editConfig.infomation.serviceTimes"></el-input>
                </el-form-item>
              </el-col>
            </el-row>
          </div>
          <!-- 条款与条件 -->
          <div class="basic-info-title">条款与条件</div>
          <div class="address-view">
          <div class="basic-info-view">
            <el-row>
              <el-col :span="24">
                <el-form-item label="条款和条约" prop="termsTreaty">
                <el-form-item label="条款和条约" prop="terms">
                  <el-input
                    type="textarea"
                    :autosize="{ minRows: 4, maxRows: 6 }"
                    placeholder="请输入内容"
                    v-model="editConfig.infomation.termsTreaty"
                    v-model="editConfig.infomation.terms"
                  ></el-input>
                </el-form-item>
              </el-col>
@@ -147,12 +173,12 @@
          <div class="basic-info-view">
            <el-row>
              <el-col :span="24">
                <el-form-item label="备注" prop="notes">
                <el-form-item label="备注" prop="remark">
                  <el-input
                    type="textarea"
                    :autosize="{ minRows: 2, maxRows: 4 }"
                    placeholder="请输入内容"
                    v-model="editConfig.infomation.notes"
                    v-model="editConfig.infomation.remark"
                  ></el-input>
                </el-form-item>
              </el-col>
@@ -200,7 +226,7 @@
            <CommonFormTableView :show-summary="showSummary" :product-table-list="productTableList" />
          </div>
          <!-- 选择审批流程 -->
          <div class="basic-info-title">选择审批流程</div>
          <!-- <div class="basic-info-title">选择审批流程</div>
          <div class="basic-info-view">
            <el-row>
              <el-col :span="20">
@@ -238,13 +264,13 @@
                </el-form-item>
              </el-col>
            </el-row>
          </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 type="primary" size="small" @click="editConfig.visible = false">保存</el-button>
        <!-- <el-button type="primary" size="small" @click="editConfig.visible = false">保并提交审批</el-button> -->
        <el-button type="primary" size="small" @click="saveClick('form')">保存</el-button>
        <el-button size="small" @click="editConfig.visible = false">取消</el-button>
      </div>
    </el-dialog>
@@ -252,10 +278,9 @@
</template>
<script>
import CommonSelectView from "@/components/makepager/CommonSelectView"
import CommonFormTableView from "@/components/makepager/CommonFormTableView"
import { getAllData } from "@/api/client/client"
import { getAddSubOrder, getUpdateSubOrder } from "@/api/sales/subOrder"
import { getAddServiceContract, getUpdateServiceContract } from "@/api/serviceManage/serviceContract"
export default {
  name: "AddServiceContractDialog",
  props: {
@@ -270,7 +295,7 @@
      }
    }
  },
  components: { CommonSelectView, CommonFormTableView },
  components: { CommonFormTableView },
  computed: {
    searchCommonHeight() {
      return this.$refs.searchCommonView.offsetHeight
@@ -281,20 +306,11 @@
      dialogWidth: "80%",
      editConfig: this.editCommonConfig,
      rules: {
        serviceContractNumber: [{ required: true, message: "请输入服务合同编号", trigger: "blur" }],
        signDate: [{ required: true, message: "请选择", trigger: "change" }],
        owner: [{ required: true, message: "请选择负责人", trigger: "change" }]
        number: [{ required: true, message: "请输入服务合同编号", trigger: "blur" }],
        signTime: [{ required: true, message: "请选择", trigger: "change" }],
        memberId: [{ 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: "销售总监" }
      ],
      memberOptions: [],
      contractTypeOptions: [], // 合同类型
      contractStatusOptions: [], // 合同状态
      currencyOptions: [
@@ -320,7 +336,9 @@
    getCommonData() {
      getAllData()
        .then((res) => {
          if (res.code === 200) {
          this.memberOptions = res.data.member
          }
        })
        .catch((err) => {
          console.log(err)
@@ -334,7 +352,7 @@
          const params = this.saveParams()
          console.log(params)
          if (this.editConfig.title === "新建") {
            getAddSubOrder(params)
            getAddServiceContract(params)
              .then((res) => {
                console.log(res)
                this.editConfig.visible = false
@@ -350,7 +368,7 @@
                console.log(err)
              })
          } else {
            getUpdateSubOrder(params)
            getUpdateServiceContract(params)
              .then((res) => {
                console.log(res)
                this.editConfig.visible = false
@@ -376,11 +394,13 @@
      let data = this.editConfig.infomation
      let params = {
        id: this.editConfig.title === "新建" ? 0 : data.id,
        clientId: data.clientId || 0,
        masterOrderId: data.masterOrderId || 0,
        clientId: parseInt(data.clientId) || 0,
        contactId: data.contactId || 0,
        contractId: data.contractId || 0,
        endTime: data.endTime || "",
        memberId: data.memberId || 0,
        number: data.number || "",
        product: [
        products: [
          {
            amount: 0,
            desc: "",
@@ -390,7 +410,16 @@
            price: 0,
            total: 0
          }
        ]
        ],
        quotationId: data.quotationId || 0,
        remark: data.remark || "",
        saleChanceId: data.saleChanceId || 0,
        serviceTimes: data.serviceTimes || 0,
        signTime: data.signTime || "",
        startTime: data.startTime || "",
        statusId: data.statusId || 0,
        terms: data.terms || "",
        typeId: data.typeId || 0
      }
      return params
    },
@@ -461,10 +490,17 @@
          font-size: 18px;
        }
      }
      .common-select {
        display: flex;
        .common-select-sel {
          width: 270px;
    }
    .address-view {
      margin-top: 10px;
      padding-right: 40px;
        .common-select-btn {
          margin-left: 5px;
          font-size: 16px;
          cursor: pointer;
        }
      }
    }
    .annex-view {
      display: flex;
src/views/service/serviceContract/index.vue
@@ -7,9 +7,10 @@
    </div>
    <TableCommonView ref="tableListRef" :table-list="tableList">
      <template slot="tableButton">
        <el-table-column label="操作" width="60">
        <el-table-column label="操作" width="90">
          <template slot-scope="scope">
            <el-button @click="handleClick(scope.row)" type="text" size="small">编辑</el-button>
            <el-button @click="delClick(scope.row.id)" type="text" size="small">删除</el-button>
          </template>
        </el-table-column>
      </template>
@@ -21,7 +22,7 @@
<script>
import AddServiceContractDialog from "@/views/service/serviceContract/AddServiceContractDialog"
import { getServiceContractList } from "@/api/serviceManage/serviceContract"
import { getServiceContractList, getDelServiceContract } from "@/api/serviceManage/serviceContract"
export default {
  name: "ServiceContract",
@@ -122,54 +123,37 @@
    addBtnClick() {
      this.editConfig.visible = true
      this.editConfig.title = "新建"
      this.editConfig.infomation = {
        customName: "",
        serviceContractNumber: "AC6521",
        owner: "5",
        contactName: "",
        salesOpportunity: "",
        contractOrder: "",
        quotation: "",
        contractType: "",
        signDate: "",
        startDate: "",
        endDate: "",
        contractStatus: "",
        serviceNumber: "",
        termsTreaty: "",
        notes: "",
        approvalWorkflow: "",
        approvalSteps: "",
        approvalPerson: "",
        approvalOpinion: ""
      }
      this.editConfig.infomation = {}
    },
    // 编辑
    handleClick(row) {
      console.log(row)
      this.editSalesLeadConfig.visible = true
      this.editSalesLeadConfig.title = "编辑"
      this.editSalesLeadConfig.infomation = {
        customName: "",
        serviceContractNumber: "AC6521",
        owner: "5",
        contactName: "",
        salesOpportunity: "",
        contractOrder: "",
        quotation: "",
        contractType: "",
        signDate: "",
        startDate: "",
        endDate: "",
        contractStatus: "",
        serviceNumber: "",
        termsTreaty: "",
        notes: "",
        approvalWorkflow: "",
        approvalSteps: "",
        approvalPerson: "",
        approvalOpinion: ""
      this.editConfig.visible = true
      this.editConfig.title = "编辑"
      this.editConfig.infomation = { ...row }
    },
    // 删除
    delClick(id) {
      this.$confirm("是否确认删除?", "警告", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      })
        .then(function () {
          return getDelServiceContract({ id: id })
        })
        .then((response) => {
          if (response.code === 200) {
            this.$message.success("删除成功")
            this.getUserList()
          } else {
            this.$message.warning("删除失败")
      }
        })
        .catch(function () {})
    },
    getSelectArray(val) {
      console.log(val)
    }
  }
}
src/views/service/serviceFeeManage/AddServiceFeeManageDialog.vue
@@ -22,89 +22,133 @@
          <div class="basic-info-view">
            <el-row>
              <el-col :span="12">
                <el-form-item label="客户名称" prop="customName">
                <el-form-item label="客户名称" prop="name">
                  <div class="custom-name">
                    <el-input v-model="editConfig.infomation.customName"></el-input>
                    <el-input v-model="editConfig.infomation.name"></el-input>
                    <div class="common-select-btn"><i class="el-icon-house" title="工商查询"></i></div>
                    <div class="common-select-btn"><i class="el-icon-search" title="查重"></i></div>
                  </div>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="服务收费人" prop="serviceCharger">
                <el-form-item label="服务收费人" prop="member_id">
                  <el-select
                    v-model="editConfig.infomation.serviceCharger"
                    v-model="editConfig.infomation.member_id"
                    placeholder="请选择"
                    size="mini"
                    style="width: 63%"
                  >
                    <el-option
                      v-for="item in serviceChargerOptions"
                      :key="item.value"
                      :label="item.label"
                      :value="item.value"
                      v-for="item in memberOptions"
                      :key="item.id"
                      :label="item.username"
                      :value="item.id"
                    ></el-option>
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col v-if="isUnflod" :span="12">
                <el-form-item label="客户编号" prop="customNumber">
                  <el-input v-model="editConfig.infomation.customNumber"></el-input>
                </el-form-item>
              </el-col>
              <el-col v-if="isUnflod" :span="12">
                <el-form-item label="客户规模" prop="customerSize">
                  <CommonSelectView
                    :common-value="editConfig.infomation.customerSize"
                    :common-options="customerSizeOptions"
                  />
                <el-form-item label="客户编号" prop="number">
                  <el-input v-model="editConfig.infomation.number"></el-input>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="客户状态" prop="customStatus">
                  <CommonSelectView
                    :common-value="editConfig.infomation.customStatus"
                    :common-options="customStatusOptions"
                  />
                </el-form-item>
              </el-col>
              <el-col v-if="isUnflod" :span="12">
                <el-form-item label="重要级别" prop="importantLevel">
                  <CommonSelectView
                    :common-value="editConfig.infomation.importantLevel"
                    :common-options="importantLevelOptions"
                  />
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="客户来源" prop="customSource">
                  <CommonSelectView
                    :common-value="editConfig.infomation.customSource"
                    :common-options="customSourceOptions"
                  />
                </el-form-item>
              </el-col>
              <el-col v-if="isUnflod" :span="12">
                <el-form-item label="客户类型" prop="customType">
                  <CommonSelectView
                    :common-value="editConfig.infomation.customType"
                    :common-options="customTypeOptions"
                  />
                </el-form-item>
              </el-col>
              <el-col v-if="isUnflod" :span="12">
                <el-form-item label="服务代表" prop="serviceAgent">
                <el-form-item label="客户规模" prop="enterprise_scale_id">
                  <div class="common-select">
                  <el-select
                    v-model="editConfig.infomation.serviceAgent"
                      v-model="editConfig.infomation.enterprise_scale_id"
                      placeholder="请选择"
                      class="common-select-sel"
                      size="mini"
                    >
                      <el-option
                        v-for="item in enterpriseScaleOptions"
                        :key="item.id"
                        :label="item.name"
                        :value="item.id"
                      >
                      </el-option>
                    </el-select>
                    <div class="common-select-btn"><i class="el-icon-setting"></i></div>
                  </div>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="客户状态" prop="client_status_id">
                  <div class="common-select">
                    <el-select
                      v-model="editConfig.infomation.client_status_id"
                      placeholder="请选择"
                      class="common-select-sel"
                      size="mini"
                    >
                      <el-option v-for="item in clientStatusOptions" :key="item.id" :label="item.name" :value="item.id">
                      </el-option>
                    </el-select>
                    <div class="common-select-btn"><i class="el-icon-setting"></i></div>
                  </div>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="重要级别" prop="client_level_id">
                  <el-select
                    v-model="editConfig.infomation.client_level_id"
                    placeholder="请选择"
                    size="mini"
                    style="width: 63%"
                  >
                    <el-option v-for="item in importantLevelOptions" :key="item.id" :label="item.name" :value="item.id">
                    </el-option>
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="客户来源" prop="client_origin_id">
                  <div class="common-select">
                    <el-select
                      v-model="editConfig.infomation.client_origin_id"
                      placeholder="请选择"
                      class="common-select-sel"
                      size="mini"
                    >
                      <el-option v-for="item in clientSourceOptions" :key="item.id" :label="item.name" :value="item.id">
                      </el-option>
                    </el-select>
                    <div class="common-select-btn">
                      <i class="el-icon-setting"></i>
                    </div>
                  </div>
                </el-form-item>
              </el-col>
              <el-col v-if="isUnflod" :span="12">
                <el-form-item label="客户类型" prop="client_type_id">
                  <div class="common-select">
                    <el-select
                      v-model="editConfig.infomation.client_type_id"
                      placeholder="请选择"
                      class="common-select-sel"
                      size="mini"
                    >
                      <el-option v-for="item in clientTypeOptions" :key="item.id" :label="item.name" :value="item.id">
                      </el-option>
                    </el-select>
                    <div class="common-select-btn"><i class="el-icon-setting"></i></div>
                  </div>
                </el-form-item>
              </el-col>
              <el-col v-if="isUnflod" :span="12">
                <el-form-item label="服务代表" prop="service_member_id">
                  <el-select
                    v-model="editConfig.infomation.service_member_id"
                    placeholder="请选择"
                    size="mini"
                    style="width: 63%"
                  >
                    <el-option
                      v-for="item in serviceAgentOptions"
                      :key="item.value"
                      :label="item.label"
                      :value="item.value"
                      v-for="item in serviceMemberOptions"
                      :key="item.id"
                      :label="item.username"
                      :value="item.id"
                    >
                    </el-option>
                  </el-select>
@@ -117,8 +161,8 @@
          <div class="basic-info-view">
            <el-row>
              <el-col :span="12">
                <el-form-item label="最晚服务到期日" prop="latestServiceDate">
                  <el-date-picker v-model="editConfig.infomation.latestServiceDate" type="date" placeholder="选择日期">
                <el-form-item label="最晚服务到期日" prop="latest_date">
                  <el-date-picker v-model="editConfig.infomation.latest_date" type="date" placeholder="选择日期">
                  </el-date-picker>
                </el-form-item>
              </el-col>
@@ -129,32 +173,32 @@
          <div class="basic-info-view">
            <el-row>
              <el-col :span="12">
                <el-form-item label="联系人姓名" prop="contactName">
                  <el-input v-model="editConfig.infomation.contactName"></el-input>
                <el-form-item label="联系人姓名" prop="contact_name">
                  <el-input v-model="editConfig.infomation.contact_name"></el-input>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="联系人职务" prop="duties">
                  <el-input v-model="editConfig.infomation.duties"></el-input>
                <el-form-item label="联系人职务" prop="position">
                  <el-input v-model="editConfig.infomation.position"></el-input>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="联系人手机" prop="phoneNumber">
                  <el-input v-model="editConfig.infomation.phoneNumber"></el-input>
                <el-form-item label="联系人手机" prop="contact_phone">
                  <el-input v-model="editConfig.infomation.contact_phone"></el-input>
                </el-form-item>
              </el-col>
              <el-col v-if="isUnflod" :span="12">
                <el-form-item label="联系人Email" prop="contactsEmail">
                  <el-input v-model="editConfig.infomation.contactsEmail"></el-input>
              <el-col :span="12">
                <el-form-item label="联系人Email" prop="contact_email">
                  <el-input v-model="editConfig.infomation.contact_email"></el-input>
                </el-form-item>
              </el-col>
            </el-row>
          </div>
          <!-- 地址信息 -->
          <div v-if="isUnflod" class="basic-info-title">地址信息</div>
          <div class="address-view">
          <div class="basic-info-view">
            <el-row>
              <el-col v-if="isUnflod" :span="24">
              <!-- <el-col v-if="isUnflod" :span="24">
                <el-form-item label="定位" prop="position">
                  <el-input
                    v-model="editConfig.infomation.position"
@@ -166,34 +210,78 @@
                <el-form-item label="地图" prop="map">
                  <div style="height: 100px"></div>
                </el-form-item>
              </el-col>
              <el-col v-if="isUnflod" :span="12">
                <el-form-item label="国家" prop="country">
                  <CommonSelectView :common-value="editConfig.infomation.country" :common-options="countryOptions" />
              </el-col> -->
              <el-col :span="12">
                <el-form-item label="国家" prop="country_id">
                  <div class="common-select">
                    <el-select
                      v-model="editConfig.infomation.country_id"
                      placeholder="请选择"
                      class="common-select-sel"
                      size="mini"
                    >
                      <el-option v-for="item in countryOptions" :key="item.id" :label="item.name" :value="item.id">
                      </el-option>
                    </el-select>
                    <div class="common-select-btn"><i class="el-icon-setting"></i></div>
                  </div>
                </el-form-item>
              </el-col>
              <el-col v-if="isUnflod" :span="12">
                <el-form-item label="省份" prop="province">
                  <CommonSelectView :common-value="editConfig.infomation.province" :common-options="provinceOptions" />
              <el-col :span="12">
                <el-form-item label="省份" prop="province_id">
                  <div class="common-select">
                    <el-select
                      v-model="editConfig.infomation.province_id"
                      placeholder="请选择"
                      class="common-select-sel"
                      size="mini"
                    >
                      <el-option v-for="item in provinceOptions" :key="item.id" :label="item.name" :value="item.id">
                      </el-option>
                    </el-select>
                    <div class="common-select-btn"><i class="el-icon-setting"></i></div>
                  </div>
                </el-form-item>
              </el-col>
              <el-col v-if="isUnflod" :span="12">
                <el-form-item label="城市" prop="city">
                  <CommonSelectView :common-value="editConfig.infomation.city" :common-options="cityOptions" />
              <el-col :span="12">
                <el-form-item label="城市" prop="city_id">
                  <div class="common-select">
                    <el-select
                      v-model="editConfig.infomation.city_id"
                      placeholder="请选择"
                      class="common-select-sel"
                      size="mini"
                    >
                      <el-option v-for="item in cityOptions" :key="item.id" :label="item.name" :value="item.id">
                      </el-option>
                    </el-select>
                    <div class="common-select-btn"><i class="el-icon-setting"></i></div>
                  </div>
                </el-form-item>
              </el-col>
              <el-col v-if="isUnflod" :span="12">
                <el-form-item label="区域" prop="region">
                  <CommonSelectView :common-value="editConfig.infomation.region" :common-options="regionOptions" />
              <el-col :span="12">
                <el-form-item label="区域" prop="region_id">
                  <div class="common-select">
                    <el-select
                      v-model="editConfig.infomation.region_id"
                      placeholder="请选择"
                      class="common-select-sel"
                      size="mini"
                    >
                      <el-option v-for="item in regionOptions" :key="item.id" :label="item.name" :value="item.id">
                      </el-option>
                    </el-select>
                    <div class="common-select-btn"><i class="el-icon-setting"></i></div>
                  </div>
                </el-form-item>
              </el-col>
              <el-col :span="24">
                <el-form-item label="详细地址" prop="address">
                <el-form-item label="详细地址" prop="detail_address">
                  <el-input
                    type="textarea"
                    :autosize="{ minRows: 2, maxRows: 4 }"
                    placeholder="请输入内容"
                    v-model="editConfig.infomation.address"
                    v-model="editConfig.infomation.detail_address"
                  ></el-input>
                </el-form-item>
              </el-col>
@@ -201,24 +289,58 @@
          </div>
          <!-- 工商信息 -->
          <div v-if="isUnflod" class="basic-info-title">工商信息</div>
          <div v-if="isUnflod" class="address-view">
          <div v-if="isUnflod" class="basic-info-view">
            <el-row>
              <el-col :span="12">
                <el-form-item label="所属行业" prop="industry">
                  <CommonSelectView :common-value="editConfig.infomation.industry" :common-options="industryOptions" />
                <el-form-item label="所属行业" prop="industry_id">
                  <div class="common-select">
                    <el-select
                      v-model="editConfig.infomation.industry_id"
                      placeholder="请选择"
                      class="common-select-sel"
                      size="mini"
                    >
                      <el-option v-for="item in industryOptions" :key="item.id" :label="item.name" :value="item.id">
                      </el-option>
                    </el-select>
                    <div class="common-select-btn"><i class="el-icon-setting"></i></div>
                  </div>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="公司性质" prop="companyNature">
                  <CommonSelectView
                    :common-value="editConfig.infomation.companyNature"
                    :common-options="companyNatureOptions"
                  />
                <el-form-item label="公司性质" prop="enterprise_nature_id">
                  <div class="common-select">
                    <el-select
                      v-model="editConfig.infomation.enterprise_nature_id"
                      placeholder="请选择"
                      class="common-select-sel"
                      size="mini"
                    >
                      <el-option
                        v-for="item in enterpriseNatureOptions"
                        :key="item.id"
                        :label="item.name"
                        :value="item.id"
                      >
                      </el-option>
                    </el-select>
                    <div class="common-select-btn"><i class="el-icon-setting"></i></div>
                  </div>
                </el-form-item>
              </el-col>
              <el-col :span="12">
              <!-- <el-col :span="12">
                <el-form-item label="公司网址" prop="companyWeb">
                  <el-input v-model="editConfig.infomation.companyWeb"></el-input>
                </el-form-item>
              </el-col> -->
              <el-col :span="24">
                <el-form-item label="经营范围" prop="business_scope">
                  <el-input
                    type="textarea"
                    :autosize="{ minRows: 2, maxRows: 4 }"
                    placeholder="请输入内容"
                    v-model="editConfig.infomation.business_scope"
                  ></el-input>
                </el-form-item>
              </el-col>
            </el-row>
@@ -228,12 +350,12 @@
          <div v-if="isUnflod" class="basic-info-view">
            <el-row>
              <el-col :span="24">
                <el-form-item label="备注" prop="notes">
                <el-form-item label="备注" prop="remark">
                  <el-input
                    type="textarea"
                    :autosize="{ minRows: 2, maxRows: 4 }"
                    placeholder="请输入内容"
                    v-model="editConfig.infomation.notes"
                    v-model="editConfig.infomation.remark"
                  ></el-input>
                </el-form-item>
              </el-col>
@@ -275,7 +397,7 @@
        </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="saveClick('form')">保存</el-button>
        <el-button size="small" @click="editConfig.visible = false">取消</el-button>
      </div>
    </el-dialog>
@@ -283,9 +405,8 @@
</template>
<script>
import CommonSelectView from "@/components/makepager/CommonSelectView"
import { getAllData } from "@/api/client/client"
import { getAddSubOrder, getUpdateSubOrder } from "@/api/sales/subOrder"
import { getAddServiceFeeManage, getUpdateServiceFeeManage } from "@/api/serviceManage/serviceFeeManage"
export default {
  name: "AddServiceFeeManageDialog",
  props: {
@@ -300,56 +421,32 @@
      }
    }
  },
  components: { CommonSelectView },
  components: {},
  computed: {},
  data() {
    return {
      dialogWidth: "80%",
      editConfig: this.editCommonConfig,
      rules: {
        customName: [{ required: true, message: "请输入客户名称", trigger: "blur" }],
        serviceCharger: [{ required: true, message: "请选择", trigger: "change" }],
        customStatus: [{ required: true, message: "请选择", trigger: "change" }]
        name: [{ required: true, message: "请输入客户名称", trigger: "blur" }],
        member_id: [{ required: true, message: "请选择", trigger: "change" }],
        client_status_id: [{ required: true, message: "请选择", trigger: "change" }]
      },
      serviceChargerOptions: [
        // 服务收费人
        { value: "1", label: "BOSS" },
        { value: "2", label: "Mia" },
        { value: "3", label: "财务" },
        { value: "4", label: "市场" },
        { value: "5", label: "系统管理员" },
        { value: "6", label: "销售" },
        { value: "7", label: "销售总监" }
      ],
      customerSizeOptions: [], // 客户规模
      customStatusOptions: [], // 客户状态
      memberOptions: [],
      enterpriseScaleOptions: [], // 客户规模
      clientStatusOptions: [], // 客户状态
      importantLevelOptions: [], // 重要级别
      customSourceOptions: [], // 客户来源
      customTypeOptions: [], // 客户类型
      serviceAgentOptions: [], // 服务代表
      clientSourceOptions: [], // 客户来源
      clientTypeOptions: [], // 客户类型
      serviceMemberOptions: [], // 服务代表
      industryOptions: [], // 所属行业
      companyNatureOptions: [], // 公司性质
      enterpriseNatureOptions: [], // 公司性质
      countryOptions: [{ value: "1", label: "中国" }], // 国家
      provinceOptions: [
        { value: "1", label: "北京市" },
        { value: "2", label: "上海市" },
        { value: "3", label: "吉林省" },
        { value: "4", label: "陕西省" }
      ], // 省份
      cityOptions: [
        { value: "1", label: "北京市" },
        { value: "2", label: "上海市" },
        { value: "3", label: "吉林市" },
        { value: "4", label: "西安市" }
      ], // 城市
      regionOptions: [
        { value: "1", label: "朝阳区" },
        { value: "2", label: "海淀区" },
        { value: "3", label: "通州区" },
        { value: "4", label: "西城区" }
      ], // 区域
      countryOptions: [], // 国家
      provinceOptions: [], // 省份
      cityOptions: [], // 城市
      regionOptions: [], // 区域
      unflodCollapseStr: "收起",
      isUnflod: true
    }
@@ -362,6 +459,17 @@
      getAllData()
        .then((res) => {
          this.memberOptions = res.data.member
          this.serviceMemberOptions = res.data.member
          this.clientSourceOptions = res.data.client_origin
          this.clientStatusOptions = res.data.client_status
          this.importantLevelOptions = res.data.client_level
          this.enterpriseScaleOptions = res.data.enterprise_scale
          this.clientTypeOptions = res.data.client_type
          this.enterpriseNatureOptions = res.data.enterprise_nature
          this.countryOptions = res.data.country
          this.provinceOptions = res.data.province
          this.cityOptions = res.data.city
          this.regionOptions = res.data.region
        })
        .catch((err) => {
          console.log(err)
@@ -374,8 +482,9 @@
          console.log(this.editConfig.infomation)
          const params = this.saveParams()
          console.log(params)
          console.log(params)
          if (this.editConfig.title === "新建") {
            getAddSubOrder(params)
            getAddServiceFeeManage(params)
              .then((res) => {
                console.log(res)
                this.editConfig.visible = false
@@ -391,7 +500,7 @@
                console.log(err)
              })
          } else {
            getUpdateSubOrder(params)
            getUpdateServiceFeeManage(params)
              .then((res) => {
                console.log(res)
                this.editConfig.visible = false
@@ -417,21 +526,48 @@
      let data = this.editConfig.infomation
      let params = {
        id: this.editConfig.title === "新建" ? 0 : data.id,
        clientId: data.clientId || 0,
        masterOrderId: data.masterOrderId || 0,
        memberId: data.memberId || 0,
        number: data.number || "",
        product: [
          {
            amount: 0,
        business_scope: data.business_scope || "",
        city_id: parseInt(data.city_id) || 0,
        client_level_id: parseInt(data.client_level_id) || 0,
        client_origin_id: parseInt(data.client_origin_id) || 0,
        client_status_id: parseInt(data.client_status_id) || 0,
        client_type_id: parseInt(data.client_type_id) || 0,
        contact: {
          birthday: "",
          city_id: 0,
          client_id: 0,
          country_id: 0,
            desc: "",
            id: 0,
            name: "",
          email: data.contact_email || "",
          is_first: true,
          member_id: 0,
          name: data.contact_name || "",
            number: "",
            price: 0,
            total: 0
          }
        ]
          phone: data.contact_phone || "",
          position: data.position || "",
          province_id: 0,
          region_id: 0,
          wechat: ""
        },
        country_id: 0,
        detail_address: data.detail_address || "",
        enterprise_nature_id: data.enterprise_nature_id || 0,
        enterprise_scale_id: data.enterprise_scale_id || 0,
        file: data.file || "",
        industry_id: data.industry_id || 0,
        latest_date: data.latest_date || "",
        latest_service_time: data.latest_service_time || "",
        member_id: parseInt(data.member_id) || 0,
        name: data.name || "",
        next_visit_time: data.next_visit_time || "",
        number: data.number || "",
        province_id: 0,
        region_id: 0,
        registered_capital_id: data.registered_capital_id || 0,
        registration_time: data.registration_time || "",
        remark: data.remark || "",
        representative: data.representative || "",
        service_member_id: data.service_member_id || 0
      }
      return params
    },
@@ -479,10 +615,17 @@
          font-size: 18px;
        }
      }
      .common-select {
        display: flex;
        .common-select-sel {
          width: 270px;
    }
    .address-view {
      margin-top: 10px;
      padding-right: 40px;
        .common-select-btn {
          margin-left: 5px;
          font-size: 16px;
          cursor: pointer;
        }
      }
    }
    .annex-view {
      display: flex;
src/views/service/serviceFeeManage/index.vue
@@ -11,12 +11,13 @@
      />
      <PagerView class="page" />
    </div>
    <TableCommonView ref="tableListRef" :table-list="tableList">
    <TableCommonView ref="tableListRef" :table-list="tableList" @getSelectArray="getSelectArray">
      <template slot="tableButton">
        <el-table-column label="操作" width="100">
        <el-table-column label="操作" width="120">
          <template slot-scope="scope">
            <el-button @click="handleClick(scope.row)" type="text" size="small">编辑</el-button>
            <el-button type="text" size="small">跟进</el-button>
            <el-button @click="delClick(scope.row.id)" type="text" size="small">删除</el-button>
          </template>
        </el-table-column>
      </template>
@@ -28,7 +29,7 @@
<script>
import AddServiceFeeManageDialog from "@/views/service/serviceFeeManage/AddServiceFeeManageDialog"
import { getServiceFeeManageList } from "@/api/serviceManage/serviceFeeManage"
import { getServiceFeeManageList, getDelServiceFeeManage } from "@/api/serviceManage/serviceFeeManage"
export default {
  name: "ServiceFeeManage",
@@ -80,17 +81,17 @@
      this.tableList = {
        tableInfomation: [],
        tableColumn: [
          { label: "客户名称", prop: "client", min: 120 }, // 客户名称
          { label: "客户类型", prop: "customType", min: 90, status: true }, // 客户类型
          { label: "客户名称", prop: "client_name", min: 120 }, // 客户名称
          { label: "客户类型", prop: "client_type", min: 90 }, // 客户类型
          { label: "销售负责人", prop: "member_id" }, // 销售负责人
          { label: "修改时间", prop: "modifyTime", min: 100 }, // 修改时间
          { label: "客户规模", prop: "customerSize" }, // 客户规模
          { label: "重要级别", prop: "importantLevel" }, // 重要级别
          // { label: "修改时间", prop: "modifyTime", min: 100 }, // 修改时间
          { label: "客户规模", prop: "enterprise_scale_id" }, // 客户规模
          { label: "重要级别", prop: "client_level_id" }, // 重要级别
          { label: "客户编号", prop: "client_id" }, // 客户编号
          { label: "客户状态", prop: "customStatus" }, // 客户状态
          { label: "客户状态", prop: "client_status_id" }, // 客户状态
          { label: "产品名称", prop: "productName" }, // 产品名称
          { label: "服务开始日期", prop: "startDate" }, // 服务开始日期
          { label: "服务到期日", prop: "latest_date" } // 服务到期日
          // { label: "服务开始日期", prop: "startDate", isTime: true, width: 150 }, // 服务开始日期
          { label: "服务到期日", prop: "latest_date", isTime: true, width: 160 } // 服务到期日
        ]
      }
      this.searchOptions = []
@@ -109,7 +110,12 @@
            if (res.data.list && res.data.list.length > 0) {
              const list = res.data.list.map((item) => {
                return {
                  ...item
                  ...item,
                  client_name: item.client ? item.client.name : item.client_id,
                  client_type: item.client ? item.client.client_type_id : "", // item.client.client_type.name : item.client_type_id
                  enterprise_scale_id: item.client ? item.client.enterprise_scale_id : "",
                  client_level_id: item.client ? item.client.client_level_id : "",
                  client_status_id: item.client ? item.client.client_status_id : ""
                }
              })
              this.tableList.tableInfomation = list || []
@@ -131,68 +137,37 @@
    addBtnClick() {
      this.editConfig.visible = true
      this.editConfig.title = "新建"
      this.editConfig.infomation = {
        customName: "",
        serviceCharger: "",
        customNumber: "",
        customerSize: "",
        customStatus: "",
        importantLevel: "",
        customType: "",
        customSource: "",
        serviceAgent: "",
        latestServiceDate: "",
        contactName: "",
        duties: "",
        phoneNumber: "",
        contactsEmail: "",
        operateRange: "",
        position: "",
        map: "",
        country: "1",
        province: "1",
        city: "1",
        region: "1",
        address: "",
        industry: "",
        companyNature: "",
        companyWeb: "",
        notes: ""
      }
      this.editConfig.infomation = {}
    },
    // 编辑
    handleClick(row) {
      console.log(row)
      this.editConfig.visible = true
      this.editConfig.title = "编辑"
      this.editConfig.infomation = {
        customName: "",
        serviceCharger: "",
        customNumber: "",
        customerSize: "",
        customStatus: "",
        importantLevel: "",
        customType: "",
        customSource: "",
        serviceAgent: "",
        latestServiceDate: "",
        contactName: "",
        duties: "",
        phoneNumber: "",
        contactsEmail: "",
        operateRange: "",
        position: "",
        map: "",
        country: "1",
        province: "1",
        city: "1",
        region: "1",
        address: "",
        industry: "",
        companyNature: "",
        companyWeb: "",
        notes: ""
      this.editConfig.infomation = { ...row }
    },
    // 删除
    delClick(id) {
      this.$confirm("是否确认删除?", "警告", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      })
        .then(function () {
          return getDelServiceFeeManage({ id: id })
        })
        .then((response) => {
          if (response.code === 200) {
            this.$message.success("删除成功")
            this.getUserList()
          } else {
            this.$message.warning("删除失败")
      }
        })
        .catch(function () {})
    },
    getSelectArray(val) {
      console.log(val)
    }
  }
}
src/views/service/serviceFollowup/AddServiceFollowupDialog.vue
@@ -22,23 +22,23 @@
          <div class="basic-info-view">
            <el-row>
              <el-col :span="12">
                <el-form-item label="客户名称" prop="customName">
                <el-form-item label="客户名称" prop="clientId">
                  <div class="custom-name">
                    <el-input v-model="editConfig.infomation.customName"></el-input>
                    <el-input v-model="editConfig.infomation.clientId"></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="followupNumber">
                  <el-input v-model="editConfig.infomation.followupNumber"></el-input>
                <el-form-item label="回访单编号" prop="number">
                  <el-input v-model="editConfig.infomation.number"></el-input>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="联系人姓名" prop="contactName">
                <el-form-item label="联系人姓名" prop="contactId">
                  <div class="custom-name">
                    <el-input v-model="editConfig.infomation.contactName"></el-input>
                    <el-input v-model="editConfig.infomation.contactId"></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>
@@ -54,17 +54,17 @@
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="回访人" prop="visitor">
                  <el-select v-model="editConfig.infomation.visitor" size="mini">
                    <el-option v-for="item in visitorOptions" :key="item.value" :label="item.label" :value="item.value">
                <el-form-item label="回访人" prop="memberId">
                  <el-select v-model="editConfig.infomation.memberId" size="mini">
                    <el-option v-for="item in memberOptions" :key="item.id" :label="item.username" :value="item.id">
                    </el-option>
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="项目计划" prop="projectPlan">
                <el-form-item label="项目计划" prop="planId">
                  <div class="custom-name">
                    <el-input v-model="editConfig.infomation.projectPlan"></el-input>
                    <el-input v-model="editConfig.infomation.planId"></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>
@@ -72,39 +72,74 @@
              </el-col>
              <el-col :span="12">
                <el-form-item label="满意度" prop="satisfaction">
                  <CommonSelectView
                    :common-value="editConfig.infomation.satisfaction"
                    :common-options="satisfactionOptions"
                  />
                  <div class="common-select">
                    <el-select
                      v-model="editConfig.infomation.satisfaction"
                      placeholder="请选择"
                      class="common-select-sel"
                      size="mini"
                    >
                      <el-option v-for="item in satisfactionOptions" :key="item.id" :label="item.name" :value="item.id">
                      </el-option>
                    </el-select>
                    <div class="common-select-btn"><i class="el-icon-setting"></i></div>
                  </div>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="及时率" prop="timelyRate">
                  <CommonSelectView
                    :common-value="editConfig.infomation.timelyRate"
                    :common-options="satisfactionOptions"
                  />
                  <div class="common-select">
                    <el-select
                      v-model="editConfig.infomation.timelyRate"
                      placeholder="请选择"
                      class="common-select-sel"
                      size="mini"
                    >
                      <el-option v-for="item in timelyRateOptions" :key="item.id" :label="item.name" :value="item.id">
                      </el-option>
                    </el-select>
                    <div class="common-select-btn"><i class="el-icon-setting"></i></div>
                  </div>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="解决率" prop="resolveRate">
                  <CommonSelectView
                    :common-value="editConfig.infomation.resolveRate"
                    :common-options="satisfactionOptions"
                  />
                <el-form-item label="解决率" prop="solveRate">
                  <div class="common-select">
                    <el-select
                      v-model="editConfig.infomation.solveRate"
                      placeholder="请选择"
                      class="common-select-sel"
                      size="mini"
                    >
                      <el-option v-for="item in solveRateOptions" :key="item.id" :label="item.name" :value="item.id">
                      </el-option>
                    </el-select>
                    <div class="common-select-btn"><i class="el-icon-setting"></i></div>
                  </div>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="原服务人员" prop="originServicePerson">
                  <el-select v-model="editConfig.infomation.originServicePerson" size="mini">
                    <el-option v-for="item in visitorOptions" :key="item.value" :label="item.label" :value="item.value">
                <el-form-item label="原服务人员" prop="oldMemberId">
                  <el-select v-model="editConfig.infomation.oldMemberId" size="mini">
                    <el-option v-for="item in oldMemberOptions" :key="item.id" :label="item.username" :value="item.id">
                    </el-option>
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="服务人员是否来过" prop="haveBeen">
                  <CommonSelectView :common-value="editConfig.infomation.haveBeen" :common-options="haveBeenOptions" />
                <el-form-item label="服务人员是否来过" prop="isVisit">
                  <div class="common-select">
                    <el-select
                      v-model="editConfig.infomation.isVisit"
                      placeholder="请选择"
                      class="common-select-sel"
                      size="mini"
                    >
                      <el-option v-for="item in isVisitOptions" :key="item.id" :label="item.name" :value="item.id">
                      </el-option>
                    </el-select>
                    <div class="common-select-btn"><i class="el-icon-setting"></i></div>
                  </div>
                </el-form-item>
              </el-col>
            </el-row>
@@ -114,12 +149,12 @@
          <div class="basic-info-view">
            <el-row>
              <el-col :span="24">
                <el-form-item label="备注" prop="notes">
                <el-form-item label="备注" prop="remark">
                  <el-input
                    type="textarea"
                    :autosize="{ minRows: 2, maxRows: 4 }"
                    placeholder="请输入内容"
                    v-model="editConfig.infomation.notes"
                    v-model="editConfig.infomation.remark"
                  ></el-input>
                </el-form-item>
              </el-col>
@@ -156,7 +191,7 @@
      </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="saveClick('form')">保存</el-button>
        <el-button size="small" @click="editConfig.visible = false">取消</el-button>
      </div>
    </el-dialog>
@@ -164,9 +199,8 @@
</template>
<script>
import CommonSelectView from "@/components/makepager/CommonSelectView"
import { getAllData } from "@/api/client/client"
import { getAddSubOrder, getUpdateSubOrder } from "@/api/sales/subOrder"
import { getAddServiceFollowup, getUpdateServiceFollowup } from "@/api/serviceManage/serviceFollowup"
export default {
  name: "AddServiceFollowupDialog",
  props: {
@@ -176,25 +210,12 @@
        return {
          visible: false,
          title: "新建",
          infomation: {
            customName: "",
            followupNumber: "HF21",
            contactName: "",
            customServiceForm: "",
            visitor: "",
            projectPlan: "",
            satisfaction: "",
            timelyRate: "",
            resolveRate: "",
            originServicePerson: "",
            haveBeen: "",
            notes: ""
          }
          infomation: {}
        }
      }
    }
  },
  components: { CommonSelectView },
  components: {},
  computed: {
    searchCommonHeight() {
      return this.$refs.searchCommonView.offsetHeight
@@ -205,16 +226,15 @@
      dialogWidth: "80%",
      editConfig: this.editCommonConfig,
      rules: {
        followupNumber: [{ required: true, message: "请输入回访单单编号", trigger: "blur" }],
        visitor: [{ required: true, message: "请选择", trigger: "change" }]
        number: [{ required: true, message: "请输入回访单单编号", trigger: "blur" }],
        memberId: [{ required: true, message: "请选择", trigger: "change" }]
      },
      satisfactionOptions: [], // 满意度 及时率 解决率
      haveBeenOptions: [], // 服务人员是否来过
      visitorOptions: [
        // 回访人
        { value: "1", label: "系统管理员" },
        { value: "2", label: "销售总监" }
      ]
      satisfactionOptions: [], // 满意度
      timelyRateOptions: [], // 及时率
      solveRateOptions: [], // 解决率
      oldMemberOptions: [], // 原服务人员
      isVisitOptions: [], // 服务人员是否来过
      memberOptions: []
    }
  },
  created() {
@@ -238,7 +258,7 @@
          const params = this.saveParams()
          console.log(params)
          if (this.editConfig.title === "新建") {
            getAddSubOrder(params)
            getAddServiceFollowup(params)
              .then((res) => {
                console.log(res)
                this.editConfig.visible = false
@@ -254,7 +274,7 @@
                console.log(err)
              })
          } else {
            getUpdateSubOrder(params)
            getUpdateServiceFollowup(params)
              .then((res) => {
                console.log(res)
                this.editConfig.visible = false
@@ -281,20 +301,18 @@
      let params = {
        id: this.editConfig.title === "新建" ? 0 : data.id,
        clientId: data.clientId || 0,
        masterOrderId: data.masterOrderId || 0,
        contactId: data.contactId || 0,
        file: data.file || "",
        isVisit: data.isVisit || 0,
        memberId: data.memberId || 0,
        number: data.number || "",
        product: [
          {
            amount: 0,
            desc: "",
            id: 0,
            name: "",
            number: "",
            price: 0,
            total: 0
          }
        ]
        oldMemberId: data.oldMemberId || 0,
        planId: data.planId || 0,
        remark: data.remark || "",
        satisfaction: data.satisfaction || 0,
        serviceId: data.serviceId || 0,
        solveRate: data.solveRate || 0,
        timelyRate: data.timelyRate || 0
      }
      return params
    },
@@ -332,10 +350,17 @@
          font-size: 18px;
        }
      }
      .common-select {
        display: flex;
        .common-select-sel {
          width: 270px;
    }
    .address-view {
      margin-top: 10px;
      padding-right: 40px;
        .common-select-btn {
          margin-left: 5px;
          font-size: 16px;
          cursor: pointer;
        }
      }
    }
    .annex-view {
      display: flex;
src/views/service/serviceFollowup/index.vue
@@ -7,9 +7,10 @@
    </div>
    <TableCommonView ref="tableListRef" :table-list="tableList">
      <template slot="tableButton">
        <el-table-column label="操作" width="60">
        <el-table-column label="操作" width="90">
          <template slot-scope="scope">
            <el-button @click="handleClick(scope.row)" type="text" size="small">编辑</el-button>
            <el-button @click="delClick(scope.row.id)" type="text" size="small">删除</el-button>
          </template>
        </el-table-column>
      </template>
@@ -21,7 +22,7 @@
<script>
import AddServiceFollowupDialog from "@/views/service/serviceFollowup/AddServiceFollowupDialog"
import { getServiceFollowupList } from "@/api/serviceManage/serviceFollowup"
import { getServiceFollowupList, getDelServiceFollowup } from "@/api/serviceManage/serviceFollowup"
export default {
  name: "SalesLead",
@@ -70,8 +71,8 @@
          { label: "联系人姓名", prop: "contactId" }, // 联系人姓名
          { label: "客户服务单", prop: "serviceId" }, // 客户服务单
          { label: "回访人", prop: "isVisit" }, // 回访人
          { label: "满意度", prop: "satisfaction" }, // 满意度
          { label: "修改时间", prop: "modifyTime" } // 修改时间
          { label: "满意度", prop: "satisfaction" } // 满意度
          // { label: "修改时间", prop: "modifyTime" } // 修改时间
        ]
      }
      this.searchOptions = []
@@ -112,40 +113,37 @@
    addBtnClick() {
      this.editConfig.visible = true
      this.editConfig.title = "新建"
      this.editConfig.infomation = {
        customName: "",
        followupNumber: "HF21",
        contactName: "",
        customServiceForm: "",
        visitor: "",
        projectPlan: "",
        satisfaction: "",
        timelyRate: "",
        resolveRate: "",
        originServicePerson: "",
        haveBeen: "",
        notes: ""
      }
      this.editConfig.infomation = {}
    },
    // 编辑
    handleClick(row) {
      console.log(row)
      this.editConfig.visible = true
      this.editConfig.title = "编辑"
      this.editConfig.infomation = {
        customName: "",
        followupNumber: "HF21",
        contactName: "",
        customServiceForm: "",
        visitor: "",
        projectPlan: "",
        satisfaction: "",
        timelyRate: "",
        resolveRate: "",
        originServicePerson: "",
        haveBeen: "",
        notes: ""
      this.editConfig.infomation = { ...row }
    },
    // 删除
    delClick(id) {
      this.$confirm("是否确认删除?", "警告", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      })
        .then(function () {
          return getDelServiceFollowup({ id: id })
        })
        .then((response) => {
          if (response.code === 200) {
            this.$message.success("删除成功")
            this.getUserList()
          } else {
            this.$message.warning("删除失败")
      }
        })
        .catch(function () {})
    },
    getSelectArray(val) {
      console.log(val)
    }
  }
}