parent
98ed3168be
commit
0af551fe52
@ -0,0 +1,488 @@ |
|||||||
|
<template> |
||||||
|
<div class="app-container"> |
||||||
|
<el-scrollbar height="600"> |
||||||
|
<el-card shadow="never"> |
||||||
|
<el-form |
||||||
|
:model="formData" |
||||||
|
ref="ruleFormRef" |
||||||
|
:rules="rules" |
||||||
|
v-loading="loading" |
||||||
|
> |
||||||
|
<el-descriptions :column="3" border> |
||||||
|
<template #title> |
||||||
|
<div style="display: flex; align-items: center"> |
||||||
|
<el-icon size="15"> <Grid /> </el-icon> <span |
||||||
|
style="font-weight: 700; font-size: 14px; line-height: 16px" |
||||||
|
>设备TYSLZW业务修改模式工单</span |
||||||
|
> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
<template #extra> |
||||||
|
<el-button |
||||||
|
type="primary" |
||||||
|
:icon="Position" |
||||||
|
style="margin-right: 8px" |
||||||
|
@click="submitForm(ruleFormRef)" |
||||||
|
>保存</el-button |
||||||
|
> |
||||||
|
</template> |
||||||
|
<el-descriptions-item |
||||||
|
label="工单序号" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
<el-form-item prop="receiveOrderId"> |
||||||
|
<el-input |
||||||
|
readonly |
||||||
|
v-model="formData.receiveOrderId" |
||||||
|
placeholder="请输入工单序号" |
||||||
|
/> |
||||||
|
</el-form-item> |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label="工单受理号" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
<el-form-item prop="receiveOrderLhs"> |
||||||
|
<el-input |
||||||
|
readonly |
||||||
|
v-model="formData.receiveOrderLhs" |
||||||
|
placeholder="请输入工单受理号" |
||||||
|
/> |
||||||
|
</el-form-item> |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label="操作类型" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
<el-form-item prop="operateRemark"> |
||||||
|
<dictionary |
||||||
|
type-code="order_operate" |
||||||
|
v-model="formData.operateRemark" |
||||||
|
placeholder="请选择操作类型" |
||||||
|
/> |
||||||
|
</el-form-item> |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label="工单业务类型" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
<el-form-item prop="orderServiceType"> |
||||||
|
<dictionary |
||||||
|
:disabled="true" |
||||||
|
type-code="order_service_type" |
||||||
|
v-model="formData.orderServiceType" |
||||||
|
placeholder="请选择工单业务类型" |
||||||
|
/> |
||||||
|
</el-form-item> |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label="设备接入类型" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
<el-form-item prop="remark3"> |
||||||
|
<dictionary |
||||||
|
type-code="device_access_type" |
||||||
|
v-model="formData.remark3" |
||||||
|
placeholder="请选择设备接入类型" |
||||||
|
/> |
||||||
|
</el-form-item> |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label="系统管理域" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
<el-form-item prop="systemDomain"> |
||||||
|
<el-tree-select |
||||||
|
v-model="formData.systemDomain" |
||||||
|
placeholder="请选择所属管理域" |
||||||
|
:data="domainOptions" |
||||||
|
filterable |
||||||
|
clearable |
||||||
|
check-strictly |
||||||
|
:render-after-expand="false" |
||||||
|
/> |
||||||
|
</el-form-item> |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label="AD编号" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
<el-form-item prop="adNo"> |
||||||
|
<el-input v-model="formData.adNo" placeholder="请输入AD编号" /> |
||||||
|
</el-form-item> |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label="设备标识" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
<el-form-item prop="devSnoOui"> |
||||||
|
<el-input |
||||||
|
v-model="formData.devSnoOui" |
||||||
|
placeholder="请输入设备标识" |
||||||
|
/> |
||||||
|
</el-form-item> |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label="光口逻辑号" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
<el-form-item prop="userSnNo"> |
||||||
|
<el-input |
||||||
|
v-model="formData.userSnNo" |
||||||
|
placeholder="请输入光口逻辑号" |
||||||
|
/> |
||||||
|
</el-form-item> |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label="PPPOE账号" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
<el-form-item prop="pppoeAccount"> |
||||||
|
<el-input |
||||||
|
v-model="formData.pppoeAccount" |
||||||
|
placeholder="请输入PPPOE账号" |
||||||
|
/> |
||||||
|
</el-form-item> |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label="虚拟标志" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
<el-form-item prop="dummyFlag"> |
||||||
|
<dictionary |
||||||
|
type-code="dummy_flag" |
||||||
|
v-model="formData.dummyFlag" |
||||||
|
placeholder="请选择虚拟标志" |
||||||
|
/> |
||||||
|
</el-form-item> |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label="企业管理域" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
<el-form-item prop="corporation"> |
||||||
|
<el-input |
||||||
|
v-model="formData.corporation" |
||||||
|
placeholder="请输入企业管理域" |
||||||
|
/> |
||||||
|
</el-form-item> |
||||||
|
</el-descriptions-item> |
||||||
|
</el-descriptions> |
||||||
|
<el-descriptions :column="3" border style="margin-top: 5px"> |
||||||
|
<template #title> |
||||||
|
<div style="display: flex; align-items: center"> |
||||||
|
<el-icon size="15"> <Grid /> </el-icon> <span |
||||||
|
style="font-weight: 700; font-size: 14px; line-height: 16px" |
||||||
|
>客户信息</span |
||||||
|
> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
<el-descriptions-item |
||||||
|
label="客户名称" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
<el-form-item prop="customerNameNew"> |
||||||
|
<el-input |
||||||
|
v-model="formData.customerNameNew" |
||||||
|
placeholder="请输入客户名称" |
||||||
|
/> |
||||||
|
</el-form-item> |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label="客户地址" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
<el-form-item prop="customerAddrNew"> |
||||||
|
<el-input |
||||||
|
v-model="formData.customerAddrNew" |
||||||
|
placeholder="请输入客户地址" |
||||||
|
/> |
||||||
|
</el-form-item> |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label="联系人信息" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
<el-form-item prop="contactPersonNew"> |
||||||
|
<el-input |
||||||
|
v-model="formData.contactPersonNew" |
||||||
|
placeholder="请输入联系人信息" |
||||||
|
/> |
||||||
|
</el-form-item> |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label="联系人电话" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
<el-form-item prop="phone"> |
||||||
|
<el-input |
||||||
|
v-model="formData.phone" |
||||||
|
placeholder="请输入联系人电话" |
||||||
|
/> |
||||||
|
</el-form-item> |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label="客户类型" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
<el-form-item prop="orderCustomerKind"> |
||||||
|
<dictionary |
||||||
|
type-code="order_custom_type" |
||||||
|
v-model="formData.orderCustomerKind" |
||||||
|
placeholder="请选择客户类型" |
||||||
|
/> |
||||||
|
</el-form-item> |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label="备注" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
<el-form-item prop="remark"> |
||||||
|
<el-input v-model="formData.remark" /> |
||||||
|
</el-form-item> |
||||||
|
</el-descriptions-item> |
||||||
|
</el-descriptions> |
||||||
|
<el-descriptions :column="2" border style="margin-top: 5px"> |
||||||
|
<template #title> |
||||||
|
<div style="display: flex; align-items: center"> |
||||||
|
<el-icon size="15"> <Grid /> </el-icon> <span |
||||||
|
style="font-weight: 700; font-size: 14px; line-height: 16px" |
||||||
|
> |
||||||
|
工单业务参数信息</span |
||||||
|
> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
<el-descriptions-item |
||||||
|
label="业务名称" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
<el-form-item prop="serviceName"> |
||||||
|
<el-input readonly v-model="formData.serviceName" /> |
||||||
|
</el-form-item> |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label="业务名称" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
<el-form-item prop="serviceFlag"> |
||||||
|
<dictionary |
||||||
|
:disabled="true" |
||||||
|
type-code="service_flag" |
||||||
|
v-model="formData.serviceFlag" |
||||||
|
/> |
||||||
|
</el-form-item> |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label="连接类型" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
<el-form-item prop="argsName"> |
||||||
|
<el-input readonly v-model="formData.list[0].argsName" /> |
||||||
|
</el-form-item> |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label="参数值" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
<el-form-item prop="argsValue"> |
||||||
|
<dictionary |
||||||
|
type-code="rg_mode" |
||||||
|
v-model="formData.list[0].argsValue" |
||||||
|
/> |
||||||
|
</el-form-item> |
||||||
|
</el-descriptions-item> |
||||||
|
</el-descriptions> |
||||||
|
</el-form> |
||||||
|
</el-card> |
||||||
|
</el-scrollbar> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script setup lang="ts"> |
||||||
|
import { Grid, Position } from "@element-plus/icons-vue"; |
||||||
|
import { AddBroadbandForm } from "@/api/craft-order/types"; |
||||||
|
import { getDomainOptions } from "@/api/domain"; |
||||||
|
import { addTYSLZW, getBasicInfo } from "@/api/craft-order"; |
||||||
|
import { FormInstance, FormRules } from "element-plus"; |
||||||
|
import { confirm } from "@/utils/confirm"; |
||||||
|
|
||||||
|
defineOptions({ |
||||||
|
name: "ModelTyslzw", |
||||||
|
inheritAttrs: false, |
||||||
|
}); |
||||||
|
const ruleFormRef = ref<FormInstance>(); |
||||||
|
const loading = ref<boolean>(false); |
||||||
|
const formData = ref<AddBroadbandForm>({ |
||||||
|
operateRemark: "0", |
||||||
|
remark3: "4", |
||||||
|
dummyFlag: "1", |
||||||
|
orderServiceType: "3", |
||||||
|
serviceName: "TYSLZW", |
||||||
|
serviceFlag: "M", |
||||||
|
list: [{ argsName: "rg_mode", argsValue: "1" }], |
||||||
|
}); |
||||||
|
|
||||||
|
const rules = reactive<FormRules<AddBroadbandForm>>({ |
||||||
|
userSnNo: [{ required: true, message: "请填写光口逻辑号", trigger: "blur" }], |
||||||
|
systemDomain: [ |
||||||
|
{ required: true, message: "请选择系统管理域", trigger: "blur" }, |
||||||
|
], |
||||||
|
orderCustomerKind: [ |
||||||
|
{ required: true, message: "请选择客户类型", trigger: "blur" }, |
||||||
|
], |
||||||
|
}); |
||||||
|
const domainOptions = ref<OptionType[]>([]); |
||||||
|
|
||||||
|
function loadDomainOptions() { |
||||||
|
getDomainOptions().then(({ data }) => { |
||||||
|
domainOptions.value = data; |
||||||
|
}); |
||||||
|
} |
||||||
|
const loadBasicInfo = () => { |
||||||
|
getBasicInfo().then(({ data }) => { |
||||||
|
formData.value.receiveOrderId = data.receiveOrderId; |
||||||
|
formData.value.receiveOrderLhs = data.receiveOrderLhs; |
||||||
|
formData.value.systemDomain = data.systemDomain; |
||||||
|
}); |
||||||
|
}; |
||||||
|
const rulesParams = (): boolean => { |
||||||
|
let modelArgsValue = formData.value.list[0].argsValue; |
||||||
|
if (modelArgsValue === undefined || modelArgsValue === "") { |
||||||
|
ElMessage({ |
||||||
|
message: "请输入网关地址的参数值", |
||||||
|
duration: 1000, |
||||||
|
type: "error", |
||||||
|
}); |
||||||
|
return false; |
||||||
|
} |
||||||
|
return true; |
||||||
|
}; |
||||||
|
const submitForm = async (formEl: FormInstance | undefined) => { |
||||||
|
if (!formEl) return; |
||||||
|
await formEl.validate((valid, fields) => { |
||||||
|
let flag = rulesParams(); |
||||||
|
if (valid && flag) { |
||||||
|
confirm("确认手动提交删修改YSLZW模式工单吗", () => { |
||||||
|
loading.value = true; |
||||||
|
addTYSLZW(formData.value) |
||||||
|
.then(() => { |
||||||
|
ElMessage({ |
||||||
|
message: "操作成功", |
||||||
|
duration: 1000, |
||||||
|
type: "success", |
||||||
|
}); |
||||||
|
}) |
||||||
|
.finally(() => { |
||||||
|
loading.value = false; |
||||||
|
}); |
||||||
|
}); |
||||||
|
} |
||||||
|
}); |
||||||
|
}; |
||||||
|
onMounted(() => { |
||||||
|
loadDomainOptions(); |
||||||
|
loadBasicInfo(); |
||||||
|
}); |
||||||
|
</script> |
||||||
|
|
||||||
|
<style scoped> |
||||||
|
:deep(.my-label) { |
||||||
|
width: 60px !important; |
||||||
|
background: var(--el-color-white) !important; |
||||||
|
} |
||||||
|
|
||||||
|
:deep(.el-card__body) { |
||||||
|
padding: 10px 5px; |
||||||
|
} |
||||||
|
:deep(.el-form-item--default) { |
||||||
|
margin-bottom: 0; |
||||||
|
} |
||||||
|
</style> |
Loading…
Reference in new issue