feat: 合同管理、服务合同、客户服务单、服务回访单编码规则修改及合同管理删除功能修复
| | |
| | | }) |
| | | } |
| | | // 删除合同管理 |
| | | export function getDelContract(data) { |
| | | export function getDelContract(id) { |
| | | return request({ |
| | | url: "/api/contract/delete", |
| | | url: `/api/contract/delete/${id}`, |
| | | method: "delete", |
| | | data |
| | | id |
| | | }) |
| | | } |
| | | // 更新合同管理 |
| | |
| | | <div class="basic-info-view"> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="单据编号" prop="number"> |
| | | <!-- <el-input v-model="editConfig.infomation.number" style="width: 100%"></el-input> --> |
| | | <WordInput |
| | | v-if="codenumer && (explain != '' || isIdDisabled) && method == 0" |
| | | :codenumer="codenumer" |
| | | :sum="sum" |
| | | :disabled="editConfig.infomation.id || isIdDisabled" |
| | | :inputValue="inputValue" |
| | | @codeList="codeList" |
| | | /> |
| | | <span v-else-if="method == 0" style="color: #f56c6c" |
| | | >请优先配置编码规范 <el-button type="text" @click="numberClick"> 配置规范 </el-button></span |
| | | > |
| | | <span v-else>自动生成</span> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="客户名称" prop="client_name"> |
| | | <div class="custom-name"> |
| | | <el-autocomplete |
| | |
| | | <i class="el-icon-remove-outline" title="清除"></i> |
| | | </div> |
| | | </div> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="单据编号" prop="number"> |
| | | <el-input v-model="editConfig.infomation.number" style="width: 100%"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | |
| | | import { getAddContract, getUpdateContract } from "@/api/sales/contractManage" |
| | | import SelectClientDialog from "@/views/other/commonDialog/SelectClientDialog" |
| | | import SelectCommonDialog from "@/views/other/commonDialog/SelectCommonDialog" |
| | | import codeMixin from "@/views/client/followupRecords/mixin/codeMixin" |
| | | export default { |
| | | name: "AddContractManageDialog", |
| | | mixins: [codeMixin], |
| | | props: { |
| | | editCommonConfig: { |
| | | type: Object, |
| | |
| | | this.$store.dispatch("geClient") |
| | | this.$store.dispatch("geQuotation") |
| | | this.getCommonData() |
| | | this.formInfo() |
| | | }, |
| | | watch: { |
| | | "editCommonConfig.visible"(val) { |
| | | if (val) { |
| | | this.formInfo() |
| | | } |
| | | }, |
| | | "editCommonConfig.infomation.codeStandID"() { |
| | | this.formInfo() |
| | | } |
| | | }, |
| | | methods: { |
| | | formInfo() { |
| | | this.objCode.type = "合同编码" |
| | | this.objCode.codeStandID = "" |
| | | if (this.editConfig.infomation.codeStandID) { |
| | | this.objCode.codeStandID = this.editConfig.infomation.codeStandID |
| | | } |
| | | this.getRCodeStandardList() |
| | | }, |
| | | getCommonData() { |
| | | getAllData() |
| | | .then((res) => { |
| | |
| | | member_id: data.memberId || 0, |
| | | number: data.number || "", |
| | | quotation_id: this.quotationId || 0, |
| | | status_id: data.statusId || 0 |
| | | status_id: data.statusId || 0, |
| | | codeStandID: data.ID, |
| | | codeRule: this.codeRule |
| | | } |
| | | return params |
| | | }, |
| | |
| | | type: "warning" |
| | | }) |
| | | .then(() => { |
| | | getDelContract({ ids: [id] }).then((response) => { |
| | | getDelContract(id).then((response) => { |
| | | if (response.code === 200) { |
| | | this.$message.success("删除成功") |
| | | this.getData() |
| | |
| | | <div class="basic-info-view"> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="服务单编号" prop="serviceNumber"> |
| | | <!-- <el-input v-model="editConfig.infomation.serviceNumber" style="width: 100%"></el-input> --> |
| | | <WordInput |
| | | v-if="codenumer && (explain != '' || isIdDisabled) && method == 0" |
| | | :codenumer="codenumer" |
| | | :sum="sum" |
| | | :disabled="editConfig.infomation.id || isIdDisabled" |
| | | :inputValue="inputValue" |
| | | @codeList="codeList" |
| | | /> |
| | | <span v-else-if="method == 0" style="color: #f56c6c" |
| | | >请优先配置编码规范 <el-button type="text" @click="numberClick"> 配置规范 </el-button></span |
| | | > |
| | | <span v-else>自动生成</span> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="客户名称" prop="client_name"> |
| | | <div class="custom-name"> |
| | | <el-autocomplete |
| | |
| | | </div> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="服务单编号" prop="serviceNumber"> |
| | | <el-input v-model="editConfig.infomation.serviceNumber" style="width: 100%"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | <el-col :span="12"> |
| | | <el-form-item label="服务合同"> |
| | | <div class="custom-name"> |
| | |
| | | getTimeSpentList |
| | | } from "@/api/common/other" |
| | | import Status from "@/common/const/commonStatus" |
| | | import codeMixin from "./mixin/codeMixin" |
| | | |
| | | export default { |
| | | name: "AddClientServiceOrderDialog", |
| | | mixins: [pageMixin], |
| | | mixins: [pageMixin, codeMixin], |
| | | props: { |
| | | editCommonConfig: { |
| | | type: Object, |
| | |
| | | this.getSeverityList() |
| | | this.getPriorityLevelList() |
| | | this.getTimeSpentList() |
| | | this.formInfo() |
| | | }, |
| | | watch: { |
| | | "editCommonConfig.visible"(val) { |
| | | if (val) { |
| | | this.formInfo() |
| | | } |
| | | }, |
| | | "editCommonConfig.infomation.codeStandID"() { |
| | | this.formInfo() |
| | | } |
| | | }, |
| | | methods: { |
| | | formInfo() { |
| | | this.objCode.codeStandID = "" |
| | | if (this.editConfig.infomation.codeStandID) { |
| | | this.objCode.codeStandID = this.editConfig.infomation.codeStandID |
| | | } |
| | | this.getRCodeStandardList() |
| | | }, |
| | | setTable() { |
| | | this.recordTableList = { |
| | | tableInfomation: [], |
| | |
| | | solutionRemark: data.solutionRemark || "", |
| | | serviceOrderStatusId: data.serviceOrderStatusId || 0, |
| | | subject: data.subject || "", |
| | | timeSpentId: data.timeSpentId || 0 |
| | | timeSpentId: data.timeSpentId || 0, |
| | | codeStandID: data.ID, |
| | | codeRule: this.codeRule |
| | | } |
| | | return params |
| | | }, |
New file |
| | |
| | | import WordInput from "@/components/wordInput" |
| | | import { getCodeStandardList } from "@/api/common/standard" |
| | | export default { |
| | | components: { |
| | | WordInput |
| | | }, |
| | | data() { |
| | | return { |
| | | // 编码 |
| | | // 是否自动生成 |
| | | isIdDisabled: false, |
| | | inputValue: [], |
| | | explain: "", |
| | | codenumer: 0, //每次输入的编码 |
| | | codenumberList: [], //整条编码 |
| | | sum: 0, |
| | | method: 0, |
| | | objCode: { name: "", page: 0, pageSize: 0, type: "客户服务编码", codeStandID: "" }, |
| | | codeRule: {} |
| | | } |
| | | }, |
| | | |
| | | methods: { |
| | | async getRCodeStandardList() { |
| | | try { |
| | | const res = await getCodeStandardList(this.objCode) |
| | | this.codenumer = [] |
| | | this.sum = 0 |
| | | this.explain = "" |
| | | if (res.data.code == 200) { |
| | | const { |
| | | List = [], |
| | | ID, |
| | | AutoRule = {}, |
| | | Method |
| | | } = res.data.data && res.data.data.data ? res.data.data.data[0] : [] |
| | | this.codeRule = res.data.data && res.data.data.data ? res.data.data.data[0] : {} |
| | | let autoRule = AutoRule |
| | | let method = Method ? Method : 0 |
| | | this.method = method |
| | | let rules = List |
| | | this.editConfig.infomation.ID = ID |
| | | if (method == 0 && res.data.data.data.length > 0) { |
| | | rules.forEach((item, index) => { |
| | | // setTimeout(() => { |
| | | // this.codenumer = item.length; |
| | | // this.sum++; |
| | | // }, 200); |
| | | this.codenumer.push(item.Length) |
| | | this.sum++ |
| | | this.explain += item.Name + (index === rules.Length - 1 ? "" : "/") |
| | | }) |
| | | } |
| | | if (method == 1) { |
| | | if (Object.keys(autoRule).length > 0) { |
| | | this.isIdDisabled = true |
| | | if (autoRule.PrefixMethod == 1) { |
| | | let prefix = autoRule.PrefixValue.split("").length |
| | | |
| | | this.codenumer.push(prefix) |
| | | if (autoRule.SuffixMethod == 2) { |
| | | this.codenumer.push(8) |
| | | } |
| | | if (autoRule.AutoLength) { |
| | | this.codenumer.push(autoRule.AutoLength) |
| | | } |
| | | this.sum = prefix + Number(autoRule.AutoLength) |
| | | this.codeList( |
| | | this.editConfig.infomation.serviceNumber |
| | | ? this.editConfig.infomation.serviceNumber |
| | | : autoRule.PrefixValue |
| | | ) |
| | | return true |
| | | } |
| | | } |
| | | } |
| | | if (this.editConfig.infomation.id) { |
| | | this.codeList(this.editConfig.infomation.serviceNumber) |
| | | } |
| | | |
| | | this.$forceUpdate() |
| | | } else { |
| | | this.$message.error(res.data.msg ? res.data.msg : "获取编码规范失败,请重试!") |
| | | } |
| | | } catch (err) { |
| | | console.log(err) |
| | | } |
| | | }, |
| | | codeList(val) { |
| | | console.log(val, "===val codelist") |
| | | this.inputValue = val |
| | | this.codenumberList = val.toString() |
| | | this.editConfig.infomation.serviceNumber = |
| | | this.codenumberList.length > 0 ? this.codenumberList.replace(/,/g, "") : "" |
| | | console.log(this.codenumberList.replace(/,/g, "")) |
| | | }, |
| | | // 配置编码规范的跳转 |
| | | numberClick() { |
| | | window.open("http://www.fai365.com:9080/facilty", "_blank") |
| | | } |
| | | } |
| | | } |
| | |
| | | <div class="basic-info-view"> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="服务合同编号" prop="number"> |
| | | <!-- <el-input v-model="editConfig.infomation.number" style="width: 100%"></el-input> --> |
| | | <WordInput |
| | | v-if="codenumer && (explain != '' || isIdDisabled) && method == 0" |
| | | :codenumer="codenumer" |
| | | :sum="sum" |
| | | :disabled="editConfig.infomation.id || isIdDisabled" |
| | | :inputValue="inputValue" |
| | | @codeList="codeList" |
| | | /> |
| | | <span v-else-if="method == 0" style="color: #f56c6c" |
| | | >请优先配置编码规范 <el-button type="text" @click="numberClick"> 配置规范 </el-button></span |
| | | > |
| | | <span v-else>自动生成</span> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="客户名称" prop="client_name"> |
| | | <div class="custom-name"> |
| | | <el-autocomplete |
| | |
| | | <i class="el-icon-remove-outline" title="清除"></i> |
| | | </div> |
| | | </div> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="服务合同编号" prop="number"> |
| | | <el-input v-model="editConfig.infomation.number" style="width: 100%"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | |
| | | import SelectContactDialog from "@/views/other/commonDialog/SelectContactDialog" |
| | | import SelectChanceDialog from "@/views/other/commonDialog/SelectChanceDialog" |
| | | import SelectCommonDialog from "@/views/other/commonDialog/SelectCommonDialog" |
| | | import codeMixin from "@/views/client/followupRecords/mixin/codeMixin" |
| | | export default { |
| | | name: "AddServiceContractDialog", |
| | | mixins: [codeMixin], |
| | | props: { |
| | | editCommonConfig: { |
| | | type: Object, |
| | |
| | | this.$store.dispatch("geQuotation") |
| | | this.setTableForm() |
| | | this.getCommonData() |
| | | this.formInfo() |
| | | }, |
| | | watch: { |
| | | "editCommonConfig.visible"(val) { |
| | | if (val) { |
| | | this.formInfo() |
| | | } |
| | | }, |
| | | "editCommonConfig.infomation.codeStandID"() { |
| | | this.formInfo() |
| | | } |
| | | }, |
| | | methods: { |
| | | formInfo() { |
| | | this.objCode.type = "服务合同编码" |
| | | this.objCode.codeStandID = "" |
| | | if (this.editConfig.infomation.codeStandID) { |
| | | this.objCode.codeStandID = this.editConfig.infomation.codeStandID |
| | | } |
| | | this.getRCodeStandardList() |
| | | }, |
| | | getCommonData() { |
| | | getAllData() |
| | | .then((res) => { |
| | |
| | | terms: data.terms || "", |
| | | typeId: 0, |
| | | serviceContractTypeId: data.serviceContractTypeId || 0, |
| | | serviceContractStatusId: data.serviceContractStatusId || 0 |
| | | serviceContractStatusId: data.serviceContractStatusId || 0, |
| | | codeStandID: data.ID, |
| | | codeRule: this.codeRule |
| | | } |
| | | return params |
| | | }, |
| | |
| | | <div class="basic-info-view"> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="回访单编号" prop="number"> |
| | | <!-- <el-input v-model="editConfig.infomation.number" style="width: 100%"></el-input> --> |
| | | <WordInput |
| | | v-if="codenumer && (explain != '' || isIdDisabled) && method == 0" |
| | | :codenumer="codenumer" |
| | | :sum="sum" |
| | | :disabled="editConfig.infomation.id || isIdDisabled" |
| | | :inputValue="inputValue" |
| | | @codeList="codeList" |
| | | /> |
| | | <span v-else-if="method == 0" style="color: #f56c6c" |
| | | >请优先配置编码规范 <el-button type="text" @click="numberClick"> 配置规范 </el-button></span |
| | | > |
| | | <span v-else>自动生成</span> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="客户名称" prop="client_name"> |
| | | <div class="custom-name"> |
| | | <el-autocomplete |
| | |
| | | <i class="el-icon-remove-outline" title="清除"></i> |
| | | </div> |
| | | </div> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="回访单编号" prop="number"> |
| | | <el-input v-model="editConfig.infomation.number" style="width: 100%"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | |
| | | import SelectClientDialog from "@/views/other/commonDialog/SelectClientDialog" |
| | | import SelectContactDialog from "@/views/other/commonDialog/SelectContactDialog" |
| | | import SelectCommonDialog from "@/views/other/commonDialog/SelectCommonDialog" |
| | | import codeMixin from "@/views/client/followupRecords/mixin/codeMixin" |
| | | export default { |
| | | name: "AddServiceFollowupDialog", |
| | | mixins: [codeMixin], |
| | | props: { |
| | | editCommonConfig: { |
| | | type: Object, |
| | |
| | | this.$store.dispatch("geContact") |
| | | this.$store.dispatch("geServiceOrder") |
| | | this.getCommonData() |
| | | this.formInfo() |
| | | }, |
| | | watch: { |
| | | "editCommonConfig.visible"(val) { |
| | | if (val) { |
| | | this.formInfo() |
| | | } |
| | | }, |
| | | "editCommonConfig.infomation.codeStandID"() { |
| | | this.formInfo() |
| | | } |
| | | }, |
| | | methods: { |
| | | formInfo() { |
| | | this.objCode.type = "服务回访编码" |
| | | this.objCode.codeStandID = "" |
| | | if (this.editConfig.infomation.codeStandID) { |
| | | this.objCode.codeStandID = this.editConfig.infomation.codeStandID |
| | | } |
| | | this.getRCodeStandardList() |
| | | }, |
| | | getCommonData() { |
| | | getAllData() |
| | | .then((res) => { |
| | |
| | | satisfaction: data.satisfactionId || 0, |
| | | serviceOrderId: this.serviceOrderId || 0, |
| | | solveRate: data.solveRateId || 0, |
| | | timelyRate: data.timelyRateId || 0 |
| | | timelyRate: data.timelyRateId || 0, |
| | | codeStandID: data.ID, |
| | | codeRule: this.codeRule |
| | | } |
| | | return params |
| | | }, |