|
|
@@ -1,6 +1,6 @@
|
|
|
<template>
|
|
|
<div>
|
|
|
- <el-button size="mini" type="primary" @click="editBtn">{{
|
|
|
+ <el-button size="mini" :type="editDis?'':'primary'" @click="editBtn" :disabled="editDis">{{
|
|
|
$t("编 辑")
|
|
|
}}</el-button>
|
|
|
<el-drawer
|
|
|
@@ -10,7 +10,7 @@
|
|
|
:visible.sync="dialog"
|
|
|
size="40%"
|
|
|
>
|
|
|
- <div slot="title" style="font-size: 15px">{{ $t("编辑服务工单") }}</div>
|
|
|
+ <div slot="title" style="font-size: 15px">{{ $t("编辑工单") }}</div>
|
|
|
<div class="drawer__panel">
|
|
|
<el-row :gutter="20">
|
|
|
<el-form
|
|
|
@@ -18,113 +18,179 @@
|
|
|
:rules="rules"
|
|
|
ref="form"
|
|
|
:label-width="tool.onlyZh('140px')"
|
|
|
- label-position="right"
|
|
|
+ label-position="top"
|
|
|
size="mini"
|
|
|
>
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item :label="$t(`申请单`)+':'" prop="billno">
|
|
|
- <selectOrder ref="order" @selectRow="orderChange">
|
|
|
+ <el-form-item :label="$t(`服务类型`)+':'" prop="servicetype">
|
|
|
+ <el-select
|
|
|
+ class="inline-24"
|
|
|
+ v-model="form.servicetype"
|
|
|
+ :placeholder="$t(`请选择服务类型`)"
|
|
|
+ size="small"
|
|
|
+ clearable
|
|
|
+ >
|
|
|
+ <el-option :label="$t(`售前`)" value="售前"></el-option>
|
|
|
+ <el-option :label="$t(`售中`)" value="售中"></el-option>
|
|
|
+ <el-option :label="$t(`售后`)" value="售后"></el-option>
|
|
|
+ <el-option
|
|
|
+ :label="$t(`历史售后`)"
|
|
|
+ :value="$t(`历史售后`)"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24" v-if="form.servicetype == '售中' || form.servicetype == '售后'">
|
|
|
+ <el-form-item :label="$t(`订单号`)+':'" prop="sonum" >
|
|
|
+ <selectOrder
|
|
|
+ :id="form.sys_enterpriseid"
|
|
|
+ ref="order"
|
|
|
+ @selectRow="orderChange"
|
|
|
+ >
|
|
|
<el-input
|
|
|
- readonly
|
|
|
- disabled
|
|
|
- type="text"
|
|
|
- slot="input"
|
|
|
- size="mini"
|
|
|
- @focus="
|
|
|
+ readonly
|
|
|
+ :disabled="!form.sys_enterpriseid"
|
|
|
+ type="text"
|
|
|
+ slot="input"
|
|
|
+ size="mini"
|
|
|
+ @focus="
|
|
|
$refs.order.listData(), ($refs.order.visible = true)
|
|
|
"
|
|
|
- v-model="form.billno"
|
|
|
+ v-model="form.sonum"
|
|
|
></el-input>
|
|
|
</selectOrder>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item :label="$t(`工单模板`) + ':'" prop="templatename">
|
|
|
- <selectTemplate ref="template" @selectRow="templateChange">
|
|
|
- <el-input
|
|
|
- readonly
|
|
|
- disabled
|
|
|
- type="text"
|
|
|
- slot="input"
|
|
|
- size="mini"
|
|
|
- @focus="
|
|
|
- $refs.template.listData(), ($refs.template.visible = true)
|
|
|
- "
|
|
|
- v-model="form.templatename"
|
|
|
- ></el-input>
|
|
|
- </selectTemplate>
|
|
|
+ <el-form-item :label="$t('省市县')" prop="province">
|
|
|
+ <el-cascader :placeholder="$t('请选择')"
|
|
|
+ size="mini"
|
|
|
+ v-model="form.province"
|
|
|
+ :options="basicData.data().areaData"
|
|
|
+ ref="cascader"
|
|
|
+ >
|
|
|
+ </el-cascader>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item
|
|
|
- :label="$t(`是否在保`)"
|
|
|
- prop="inqualityguaranteeperiod"
|
|
|
- >
|
|
|
- <el-radio-group v-model="form.inqualityguaranteeperiod">
|
|
|
- <el-radio :label="1">{{ $t("是") }}</el-radio>
|
|
|
- <el-radio :label="0">{{ $t("否") }}</el-radio>
|
|
|
- </el-radio-group>
|
|
|
+ <el-form-item :label="$t('详细地址')" prop="address">
|
|
|
+ <el-input
|
|
|
+ v-model="form.address"
|
|
|
+ :placeholder="$t(`请输入详细地址`)"
|
|
|
+ ></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item :label="$t(`是否在我司产品`)" prop="isouritem">
|
|
|
- <el-radio-group v-model="form.isouritem">
|
|
|
- <el-radio :label="1">{{ $t("是") }}</el-radio>
|
|
|
- <el-radio :label="0">{{ $t("否") }}</el-radio>
|
|
|
- </el-radio-group>
|
|
|
+ <el-form-item :label="$t(`现场联系人`)" prop="scenecontact">
|
|
|
+ <el-input
|
|
|
+ v-model="form.scenecontact"
|
|
|
+ :placeholder="$t(`请输入现场联系人`)"
|
|
|
+ ></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item :label="$t(`异常属实`)" prop="isfact">
|
|
|
- <el-radio-group v-model="form.isfact">
|
|
|
- <el-radio :label="1">{{ $t("是") }}</el-radio>
|
|
|
- <el-radio :label="0">{{ $t("否") }}</el-radio>
|
|
|
- </el-radio-group>
|
|
|
+ <el-form-item :label="$t(`身份备注`)" prop="scenecontactrole">
|
|
|
+ <el-input
|
|
|
+ v-model="form.scenecontactrole"
|
|
|
+ :placeholder="$t(`请输入身份备注`)"
|
|
|
+ ></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item :label="$t('联系人')" prop="scenecontact">
|
|
|
+ <el-form-item
|
|
|
+ :label="$t(`现场联系人电话`)"
|
|
|
+ prop="scenecontactphonenumber"
|
|
|
+ >
|
|
|
<el-input
|
|
|
- v-model="form.scenecontact"
|
|
|
- :placeholder="$t(`请输入联系人`)"
|
|
|
+ v-model="form.scenecontactphonenumber"
|
|
|
+ :placeholder="$t(`请输入现场联系人电话`)"
|
|
|
></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item :label="$t(`联系人角色`)" prop="scenecontactrole">
|
|
|
- <el-input
|
|
|
- v-model="form.scenecontactrole"
|
|
|
- :placeholder="$t(`请输入联系人角色`)"
|
|
|
- ></el-input>
|
|
|
+ <el-form-item :label="$t(`应用系统`)" prop="class1">
|
|
|
+ <el-select
|
|
|
+ class="inline-24"
|
|
|
+ v-model="form.class1"
|
|
|
+ @focus="queryType('systemapp')"
|
|
|
+ :placeholder="$t(`请选择应用系统`)"
|
|
|
+ size="mini"
|
|
|
+ clearable
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(item, index) in options.systemapp"
|
|
|
+ :key="index"
|
|
|
+ :label="$t(item.value)"
|
|
|
+ :value="item.value"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item
|
|
|
- :label="$t(`联系人电话`)"
|
|
|
- prop="scenecontactphonenumber"
|
|
|
- >
|
|
|
+ <el-form-item :label="$t(`客诉大类`)" prop="class2">
|
|
|
+ <el-select
|
|
|
+ class="inline-24"
|
|
|
+ v-model="form.class2"
|
|
|
+ @focus="queryType('customerclass')"
|
|
|
+ :placeholder="$t(`请选择客诉大类`)"
|
|
|
+ size="mini"
|
|
|
+ clearable
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(item, index) in options.customerclass"
|
|
|
+ :key="index"
|
|
|
+ :label="$t(item.value)"
|
|
|
+ :value="item.value"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item :label="$t(`问题描述`)" prop="reason">
|
|
|
<el-input
|
|
|
- v-model="form.scenecontactphonenumber"
|
|
|
- :placeholder="$t(`请输入联系人电话`)"
|
|
|
+ v-model="form.reason"
|
|
|
+ :placeholder="$t(`请输入问题描述`)"
|
|
|
></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <!-- <el-col :span="24">
|
|
|
- <el-form-item :label="$t(`服务团队`)" prop="servicetype">
|
|
|
- <selectTeam ref="team" @teamChange="teamChange">
|
|
|
- <el-tag
|
|
|
- style="margin-bottom:10px"
|
|
|
- :key="tag.userid"
|
|
|
- v-for="tag in form.projectlearders"
|
|
|
- closable
|
|
|
- :disable-transitions="false"
|
|
|
- @close="handleClose(tag)">
|
|
|
- {{tag.name}}
|
|
|
- </el-tag>
|
|
|
- <el-button class="button-new-tag" size="small" @click="$refs.team.dialogFormVisible=true">+ New people</el-button>
|
|
|
- </selectTeam>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item :label="$t(`异常类型`)" prop="exception_type">
|
|
|
+ <el-select
|
|
|
+ class="inline-24"
|
|
|
+ v-model="form.exception_type"
|
|
|
+ :placeholder="$t(`请选择异常类型`)"
|
|
|
+ @focus="queryType('exceptiontype')"
|
|
|
+ size="small"
|
|
|
+ clearable
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in options.exceptiontype"
|
|
|
+ :key="item.value"
|
|
|
+ :label="$t(item.value)"
|
|
|
+ :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
|
- </el-col> -->
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item :label="$t(`服务等级`)" prop="service_level">
|
|
|
+ <el-select
|
|
|
+ class="inline-24"
|
|
|
+ v-model="form.service_level"
|
|
|
+ :placeholder="$t(`请选择服务等级`)"
|
|
|
+ @focus="queryType('servicelevel')"
|
|
|
+ size="small"
|
|
|
+ clearable
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in options.servicelevel"
|
|
|
+ :key="item.value"
|
|
|
+ :label="$t(item.value)"
|
|
|
+ :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
<el-col :span="24">
|
|
|
<el-form-item :label="$t('备注')" prop="remarks">
|
|
|
<el-input
|
|
|
@@ -157,7 +223,7 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import selectOrder from "./selectOrder";
|
|
|
+import selectOrder from "./selectOrderNew";
|
|
|
import selectTemplate from "./selectTemplate";
|
|
|
|
|
|
import selectTeam from "./teamSelect";
|
|
|
@@ -186,8 +252,88 @@ export default {
|
|
|
scenecontactrole: "",
|
|
|
scenecontactphonenumber: "",
|
|
|
projectlearders: [],
|
|
|
+ servicetype:'',
|
|
|
+ sa_orderid:0,
|
|
|
+ province:'',
|
|
|
+ city:'',
|
|
|
+ county:'',
|
|
|
+ class1:'',
|
|
|
+ class2:'',
|
|
|
+ exception_type:'',
|
|
|
+ service_level:'',
|
|
|
+ sys_enterpriseid:''
|
|
|
},
|
|
|
rules: {
|
|
|
+ servicetype: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: this.$t("请选择服务类型"),
|
|
|
+ trigger: "change",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ sa_orderid: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: this.$t("请选择订单"),
|
|
|
+ trigger: "change",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ province: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: this.$t("请选择省市县"),
|
|
|
+ trigger: "change",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ class1: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: this.$t("请选择应用系统"),
|
|
|
+ trigger: "change",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ class2: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: this.$t("请选择客诉大类"),
|
|
|
+ trigger: "change",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ address: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: this.$t("请输入详细地址"),
|
|
|
+ trigger: "blur",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ reason: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: this.$t("请输入问题描述"),
|
|
|
+ trigger: "blur",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ scenecontact: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: this.$t("请输入现场联系人"),
|
|
|
+ trigger: "blur",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ exception_type: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: this.$t("请选择异常类型"),
|
|
|
+ trigger: "change",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ service_level: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: this.$t("请选择服务等级"),
|
|
|
+ trigger: "change",
|
|
|
+ },
|
|
|
+ ],
|
|
|
billno: [
|
|
|
{
|
|
|
required: true,
|
|
|
@@ -206,14 +352,34 @@ export default {
|
|
|
},
|
|
|
],
|
|
|
},
|
|
|
+ agentParam: {
|
|
|
+ id: 20220920083901,
|
|
|
+ content: {
|
|
|
+ pageNumber: 1,
|
|
|
+ pageSize: 20,
|
|
|
+ where: {
|
|
|
+ condition: "",
|
|
|
+ type: "",
|
|
|
+ },
|
|
|
+ },
|
|
|
+ },
|
|
|
+ options:{
|
|
|
+ customerclass:[],
|
|
|
+ exceptiontype:[],
|
|
|
+ servicelevel:[],
|
|
|
+ systemapp:[]
|
|
|
+ },
|
|
|
+ userid:JSON.parse(sessionStorage.getItem('active_account')).userid,
|
|
|
+ editDis:true
|
|
|
};
|
|
|
},
|
|
|
methods: {
|
|
|
editBtn() {
|
|
|
+ console.log(this.data)
|
|
|
this.dialog = true;
|
|
|
this.form = Object.assign({}, this.form, this.data);
|
|
|
this.form.projectlearders = this.form.team;
|
|
|
- console.log(this.form);
|
|
|
+ this.form.province = [this.data.province,this.data.city,this.data.county]
|
|
|
},
|
|
|
onSubmit() {
|
|
|
console.log(this.form);
|
|
|
@@ -222,9 +388,11 @@ export default {
|
|
|
this.form.projectlearders = this.form.projectlearders.map(
|
|
|
(item) => item.userid
|
|
|
);
|
|
|
+ this.form.city = this.form.province[1]
|
|
|
+ this.form.county = this.form.province[2]
|
|
|
+ this.form.province = this.form.province[0]
|
|
|
const res = await this.$api.requested({
|
|
|
id: "20230208140003",
|
|
|
- version: 1,
|
|
|
content: this.form,
|
|
|
});
|
|
|
this.tool.showMessage(res, () => {
|
|
|
@@ -245,9 +413,10 @@ export default {
|
|
|
orderChange(data) {
|
|
|
console.log(data);
|
|
|
|
|
|
- this.form.billno = data.billno;
|
|
|
- this.form.sa_serviceorderid = data.sa_serviceorderid;
|
|
|
+ this.form.sa_orderid = data.sa_orderid;
|
|
|
+ this.form.sonum = data.sonum;
|
|
|
this.$refs.order.visible = false;
|
|
|
+ console.log(this.form.sonum);
|
|
|
},
|
|
|
templateChange(data) {
|
|
|
console.log(data);
|
|
|
@@ -278,6 +447,27 @@ export default {
|
|
|
this.form.projectlearders.push(...result);
|
|
|
this.$refs.team.dialogFormVisible = false;
|
|
|
},
|
|
|
+ classChange() {
|
|
|
+ if (this.form.servicetype == "售中" || this.form.servicetype == "售后") {
|
|
|
+ this.$refs.agent.param.content.sys_enterpriseid =
|
|
|
+ this.form.sys_enterpriseid;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ async queryType(type){
|
|
|
+ if (this.options[type].length == 0){
|
|
|
+ const res = await this.$store.dispatch('optiontypeselect',type)
|
|
|
+ this.options[type] = res.data
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ mounted() {
|
|
|
+ console.log(this.data,'输出data的数据222')
|
|
|
+ this.editDis = true
|
|
|
+ this.data.team.forEach(item =>{
|
|
|
+ if (item.userid == this.userid){
|
|
|
+ this.editDis = false
|
|
|
+ }
|
|
|
+ })
|
|
|
},
|
|
|
created() {},
|
|
|
};
|