|
@@ -0,0 +1,330 @@
|
|
|
+<template>
|
|
|
+ <div>
|
|
|
+ <el-button type="primary" size="small" @click="open">{{btnTitle}}</el-button>
|
|
|
+ <dialogTemplate ref="dialogRef" :title="title" @onClose="onClose" @onSubmit="onSubmit" :disabled="backreason.length == 0">
|
|
|
+ <template slot="content">
|
|
|
+ <div v-if="title == '转服务申请单'">
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-form :model="form" :rules="rules" ref="form" label-width="140px" label-position="right" size="mini">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="企业名称:" prop="enterprisename" >
|
|
|
+ <selectAgent :customParam="agentParam" ref="agent" @selectRow="agentChange" qiyi="企业名称">
|
|
|
+ <el-input readonly type="text" slot="input" size="mini" @focus="$refs.agent.visible=true" v-model="form.enterprisename"></el-input>
|
|
|
+ </selectAgent>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="服务类型" prop="servicetype">
|
|
|
+ <el-select class="inline-24" v-model="form.servicetype" @change="classChange" placeholder="请选择状态" size="mini" clearable>
|
|
|
+ <el-option v-for="(item,index) in serveClassList" :key="index" :label="item.value" :value="item.value"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12" v-if="form.servicetype == '售中' || form.servicetype == '售后'">
|
|
|
+ <el-form-item label="订单号:" prop="sonum">
|
|
|
+ <selectOrder :id="form.sys_enterpriseid" ref="order" @selectRow="orderChange">
|
|
|
+ <el-input readonly :disabled="!form.sys_enterpriseid" type="text" slot="input" size="mini" @focus="$refs.order.listData(),$refs.order.visible=true" v-model="form.sonum"></el-input>
|
|
|
+ </selectOrder>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="单据日期" prop="billdate">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="form.billdate"
|
|
|
+ type="date"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ placeholder="选择日期">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="省市县" prop="province">
|
|
|
+ <el-cascader
|
|
|
+ size="mini"
|
|
|
+ v-model="form.province"
|
|
|
+ :options="basicData.data().areaData"
|
|
|
+ ref="cascader">
|
|
|
+ </el-cascader>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="地址" prop="address">
|
|
|
+ <el-input v-model="form.address" placeholder="请输入地址"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="服务联系人" prop="scenecontact">
|
|
|
+ <el-input v-model="form.scenecontact" placeholder="请输入服务联系人"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="联系人角色" prop="scenecontactrole">
|
|
|
+ <el-input v-model="form.scenecontactrole" placeholder="请输入联系人角色"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="服务联系电话" prop="scenecontactphonenumber">
|
|
|
+ <el-input v-model="form.scenecontactphonenumber" placeholder="请输入服务联系电话"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="应用系统" prop="class1">
|
|
|
+ <el-select class="inline-24" v-model="form.class1" @change="classChange" placeholder="请选择应用系统" size="mini" clearable>
|
|
|
+ <el-option v-for="(item,index) in systemapp" :key="index" :label="item.value" :value="item.value"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="客诉大类" prop="class2">
|
|
|
+ <el-select class="inline-24" v-model="form.class2" @change="classChange" placeholder="请选择客诉大类" size="mini" clearable>
|
|
|
+ <el-option v-for="(item,index) in customerclass" :key="index" :label="item.value" :value="item.value"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="申请原因" prop="reason">
|
|
|
+ <el-input v-model="form.reason" placeholder="请输入申请原因"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="需求服务开始日期" prop="begdate">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="form.begdate"
|
|
|
+ type="date"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ placeholder="选择日期">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="需求服务结束日期" prop="enddate">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="form.enddate"
|
|
|
+ type="date"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ placeholder="选择日期">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="备注" prop="remarks">
|
|
|
+ <el-input type="textarea" v-model="form.remarks" placeholder="请输入备注"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-form>
|
|
|
+ </el-row>
|
|
|
+ </div>
|
|
|
+ <div v-else>
|
|
|
+ <el-input style="margin-top: 10px" type="textarea" v-model="backreason" placeholder="填写拒绝原因" ></el-input>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </dialogTemplate>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import dialogTemplate from "@/WebsiteManagement/serviceAppointMag/compents/dialogTemplate";
|
|
|
+import selectAgent from '@/template/selectAgent/index'
|
|
|
+export default {
|
|
|
+ name: "transferService",
|
|
|
+ props:['btnTitle','message','data'],
|
|
|
+ components:{dialogTemplate,selectAgent},
|
|
|
+ data(){
|
|
|
+ return {
|
|
|
+ dialogVisible:false,
|
|
|
+ title:'',
|
|
|
+ form:{
|
|
|
+ "sa_serviceorderid":0, //sa_brandid<=0时 为新增
|
|
|
+ "servicetype":"",
|
|
|
+ "sa_orderid":0,
|
|
|
+ "sonum":"",
|
|
|
+ "sys_enterpriseid":'',
|
|
|
+ "enterprisename":'',
|
|
|
+ "remarks":"",
|
|
|
+ "class1":"",
|
|
|
+ "class2":"",
|
|
|
+ "reason":"",
|
|
|
+ "province":"",
|
|
|
+ "city":"",
|
|
|
+ "county":"",
|
|
|
+ "address":"",
|
|
|
+ "scenecontact":"",
|
|
|
+ "scenecontactrole":"",
|
|
|
+ "scenecontactphonenumber":"",
|
|
|
+ "billdate":`${new Date().getFullYear()}-${new Date().getMonth() + 1}-${new Date().getDate()}`,
|
|
|
+ "begdate":"",
|
|
|
+ "enddate":""
|
|
|
+ },
|
|
|
+ rules:{
|
|
|
+ servicetype:[
|
|
|
+ { required: true, message: '请选择服务类型', trigger: 'change'},
|
|
|
+ ],
|
|
|
+ enterprisename:[
|
|
|
+ { required: true, message: '请选择经销商', trigger: 'change'}
|
|
|
+ ],
|
|
|
+ sonum:[
|
|
|
+ { required: true, message: '请选择订单', trigger: 'change'},
|
|
|
+ ],
|
|
|
+ scenecontactphonenumber: [
|
|
|
+ { required: true, message: '请填写手机号码', trigger: 'blur'},
|
|
|
+ { pattern:/^1[3-9][0-9]\d{8}$/, message: '请输入正确手机号码',trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ province:[
|
|
|
+ { required: true, message: '请选择省市县', trigger: 'change'},
|
|
|
+ ],
|
|
|
+ address:[
|
|
|
+ { required: true, message: '请填写地址', trigger: 'blur'},
|
|
|
+ ],
|
|
|
+ scenecontact:[
|
|
|
+ { required: true, message: '服务联系人', trigger: 'blur'},
|
|
|
+ ],
|
|
|
+ scenecontactrole:[
|
|
|
+ { required: true, message: '联系人角色', trigger: 'blur'},
|
|
|
+ ],
|
|
|
+ class1:[
|
|
|
+ { required: true, message: '应用系统', trigger: 'change'},
|
|
|
+ ],
|
|
|
+ class2:[
|
|
|
+ { required: true, message: '客诉大类', trigger: 'change'},
|
|
|
+ ],
|
|
|
+ reason:[
|
|
|
+ { required: true, message: '申请原因', trigger: 'blur'},
|
|
|
+ ],
|
|
|
+ begdate:[
|
|
|
+ { required: true, message: '需求服务开始日期', trigger: 'change'},
|
|
|
+ ],
|
|
|
+ enddate:[
|
|
|
+ { required: true, message: '需求服务结束日期', trigger: 'change'},
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ agentParam: {
|
|
|
+ "id":20220920083901,
|
|
|
+ "content": {
|
|
|
+ "pageNumber":1,
|
|
|
+ "pageSize":20,
|
|
|
+ "where": {
|
|
|
+ condition:'',
|
|
|
+ type:''
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ backreason:'',
|
|
|
+ disabled:false,
|
|
|
+ siteid:JSON.parse(sessionStorage.getItem('active_account')).siteid,
|
|
|
+ serveClassList:[],
|
|
|
+ customerclass:[],
|
|
|
+ systemapp:[],
|
|
|
+ }
|
|
|
+ },
|
|
|
+ methods:{
|
|
|
+ open() {
|
|
|
+ this.$confirm(this.message + '?', '确认信息', {
|
|
|
+ distinguishCancelAndClose: true,
|
|
|
+ confirmButtonText: '确认',
|
|
|
+ cancelButtonText: '拒绝'
|
|
|
+ })
|
|
|
+ .then(async() => {
|
|
|
+ this.title = '转服务申请单'
|
|
|
+ console.log(this.data,'data====')
|
|
|
+ this.form = Object.assign({},this.form,this.data)
|
|
|
+ console.log(this.form,'form')
|
|
|
+ this.$refs.dialogRef.dialogVisible = true
|
|
|
+ this.getServeClass()
|
|
|
+ const res = await this.$store.dispatch('optiontypeselect','customerclass')
|
|
|
+ this.customerclass = res.data
|
|
|
+ const res1 = await this.$store.dispatch('optiontypeselect','systemapp')
|
|
|
+ this.systemapp = res1.data
|
|
|
+ })
|
|
|
+ .catch(action => {
|
|
|
+ if (action === 'cancel'){
|
|
|
+ this.title = '拒绝服务'
|
|
|
+ this.disabled = true
|
|
|
+ this.$refs.dialogRef.dialogVisible = true
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ onSubmit(){
|
|
|
+ if (this.title == '拒绝服务') {
|
|
|
+ this.onRefuse()
|
|
|
+ }else {
|
|
|
+ this.$refs.form.validate(async (valid)=>{
|
|
|
+ if (!valid) return false
|
|
|
+ this.$refs.dialogRef.loading = true
|
|
|
+ const res = await this.$api.requested({
|
|
|
+ "id": "20240903093303",
|
|
|
+ "content": {
|
|
|
+ "siteid":this.siteid,
|
|
|
+ "sa_endcustserviceorderid":this.$route.query.id,
|
|
|
+ "sys_enterpriseid":this.form.sys_enterpriseid //服务预约单中sys_enterpriseid为0时,此时sys_enterpriseid必传
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this.tool.showMessage(res,()=>{
|
|
|
+ this.$refs.dialogRef.loading = false
|
|
|
+ this.$refs.dialogRef.dialogVisible = false
|
|
|
+ this.$emit('onSuccess')
|
|
|
+ })
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ async onRefuse(){
|
|
|
+ this.$refs.dialogRef.loading = true
|
|
|
+ const res = await this.$api.requested({
|
|
|
+ "id": "20240903093203",
|
|
|
+ "content": {
|
|
|
+ "siteid":this.siteid,
|
|
|
+ "sa_endcustserviceorderid":this.$route.query.id,
|
|
|
+ "backreason":this.backreason
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this.tool.showMessage(res,()=>{
|
|
|
+ this.$refs.dialogRef.loading = false
|
|
|
+ this.$refs.dialogRef.dialogVisible = false
|
|
|
+ this.$emit('onSuccess')
|
|
|
+ })
|
|
|
+ },
|
|
|
+ inputChange(){
|
|
|
+ console.log(this.backreason)
|
|
|
+ this.backreason.length > 0 ? this.disabled = false:this.disabled = true
|
|
|
+ },
|
|
|
+ onClose(){
|
|
|
+ this.backreason = ''
|
|
|
+ },
|
|
|
+ agentChange (data) {
|
|
|
+ console.log(data);
|
|
|
+ this.form.sys_enterpriseid = data.sys_enterpriseid
|
|
|
+ this.form.enterprisename = data.enterprisename
|
|
|
+ this.$refs.agent.visible = false
|
|
|
+
|
|
|
+ this.form.sa_orderid = 0
|
|
|
+ this.form.sonum = ''
|
|
|
+ },
|
|
|
+ async getServeClass () {
|
|
|
+ let res = await this.$api.requested({
|
|
|
+ "id":20230206112003,
|
|
|
+ "content": {
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this.serveClassList = res.data
|
|
|
+ console.log(this.serveClassList);
|
|
|
+ },
|
|
|
+ orderChange (data) {
|
|
|
+ console.log(data);
|
|
|
+
|
|
|
+ this.form.sa_orderid = data.sa_orderid
|
|
|
+ this.form.sonum = data.sonum
|
|
|
+ this.$refs.order.visible = false
|
|
|
+ console.log(this.form.sonum);
|
|
|
+
|
|
|
+ },
|
|
|
+ classChange () {
|
|
|
+ if (this.form.servicetype == '售中' || this.form.servicetype == '售后') {
|
|
|
+ this.$refs.agent.param.content.sys_enterpriseid = this.form.sys_enterpriseid
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</script>
|
|
|
+
|
|
|
+<style scoped>
|
|
|
+
|
|
|
+</style>
|