| | |
| | | <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> |
| | |
| | | </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> |
| | |
| | | </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> |
| | |
| | | <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> |
| | |
| | | </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> |
| | |
| | | </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: { |
| | |
| | | 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 |
| | |
| | | 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() { |
| | |
| | | const params = this.saveParams() |
| | | console.log(params) |
| | | if (this.editConfig.title === "新建") { |
| | | getAddSubOrder(params) |
| | | getAddServiceFollowup(params) |
| | | .then((res) => { |
| | | console.log(res) |
| | | this.editConfig.visible = false |
| | |
| | | console.log(err) |
| | | }) |
| | | } else { |
| | | getUpdateSubOrder(params) |
| | | getUpdateServiceFollowup(params) |
| | | .then((res) => { |
| | | console.log(res) |
| | | this.editConfig.visible = false |
| | |
| | | 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 |
| | | }, |
| | |
| | | font-size: 18px; |
| | | } |
| | | } |
| | | } |
| | | .address-view { |
| | | margin-top: 10px; |
| | | padding-right: 40px; |
| | | .common-select { |
| | | display: flex; |
| | | .common-select-sel { |
| | | width: 270px; |
| | | } |
| | | .common-select-btn { |
| | | margin-left: 5px; |
| | | font-size: 16px; |
| | | cursor: pointer; |
| | | } |
| | | } |
| | | } |
| | | .annex-view { |
| | | display: flex; |