|
@@ -4,6 +4,15 @@
|
|
|
<view class="title" style="margin-top: 0;">
|
|
|
服务信息
|
|
|
</view>
|
|
|
+
|
|
|
+ <up-form-item label="服务类型" :required="rules.servicetype[0].required" prop="servicetype">
|
|
|
+ <up-radio-group v-model="form.servicetype" @change="servicetypeChange">
|
|
|
+ <up-radio :customStyle="{ marginLeft: '12px' }" v-for="(item) in servertypes" :key="item"
|
|
|
+ :label="item" :name="item">
|
|
|
+ </up-radio>
|
|
|
+ </up-radio-group>
|
|
|
+ </up-form-item>
|
|
|
+
|
|
|
<up-form-item label="产品品类" :required="rules.class1[0].required" prop="class1">
|
|
|
<up-radio-group v-model="form.class1">
|
|
|
<up-radio :customStyle="{ marginLeft: '12px' }" v-for="(item) in class1" :key="item.value"
|
|
@@ -12,10 +21,11 @@
|
|
|
</up-radio-group>
|
|
|
</up-form-item>
|
|
|
|
|
|
- <up-form-item label="服务类型" :required="rules.servicetype[0].required" prop="servicetype">
|
|
|
- <up-radio-group v-model="form.servicetype">
|
|
|
- <up-radio :customStyle="{ marginLeft: '12px' }" v-for="(item) in ['安装', '维修', '清洗']" :key="item"
|
|
|
- :label="item" :name="item">
|
|
|
+ <up-form-item v-if="rules.class2[0].required" label="故障类型" :required="rules.class2[0].required"
|
|
|
+ prop="class2">
|
|
|
+ <up-radio-group v-model="form.class2">
|
|
|
+ <up-radio :customStyle="{ marginLeft: '12px' }" v-for="(item) in class2" :key="item.value"
|
|
|
+ :label="item.value" :name="item.value">
|
|
|
</up-radio>
|
|
|
</up-radio-group>
|
|
|
</up-form-item>
|
|
@@ -127,6 +137,7 @@ import { onLoad } from '@dcloudio/uni-app';
|
|
|
const uFormRef = ref(null);
|
|
|
const form = reactive({
|
|
|
class1: '', // 产品品类
|
|
|
+ class2: '', // 故障类型
|
|
|
servicetype: '', // 服务类型
|
|
|
address: "", // 详细地址
|
|
|
province: '', // 省份
|
|
@@ -148,6 +159,7 @@ const form = reactive({
|
|
|
});
|
|
|
const rules = reactive({
|
|
|
class1: [{ required: true, message: '请选择产品品类', trigger: 'change' }],
|
|
|
+ class2: [{ required: false, message: "请选择故障类型", trigger: 'change' }],
|
|
|
servicetype: [{ required: true, message: '请选择服务类型', trigger: 'change' }],
|
|
|
province: [{ required: true, message: '请选择省市县', trigger: 'change' }],
|
|
|
address: [{ required: true, message: '请输入详细地址', trigger: 'blur' }],
|
|
@@ -156,18 +168,36 @@ const rules = reactive({
|
|
|
scenecontactphonenumber: [{ required: true, message: '请输入联系人电话', trigger: 'blur', pattern: /^1(3[0-9]|4[01456879]|5[0-35-9]|6[2567]|7[0-8]|8[0-9]|9[0-35-9])\d{8}$/, message: '请输入正确的手机号码' }],
|
|
|
});
|
|
|
|
|
|
-const class1 = ref(''); // 产品品类
|
|
|
+// 切换服务类型
|
|
|
+function servicetypeChange(type) {
|
|
|
+ // rules.class2[0].required = type == '维修';
|
|
|
+ uFormRef.value.setRules(rules);
|
|
|
+}
|
|
|
+
|
|
|
+const class1 = ref(''),
|
|
|
+ servertypes = ref(['安装', '维修', '清洗']),
|
|
|
+ class2 = ref('');
|
|
|
|
|
|
let sa_workorderid = 0;
|
|
|
|
|
|
onLoad((options) => {
|
|
|
sa_workorderid = options.id;
|
|
|
getDetail()
|
|
|
+ $Http.getClass('servertype').then(res => {
|
|
|
+ servertypes.value = res.data.map(v => v.value);
|
|
|
+ if (res.code !== 1) return uni.showToast({ title: res.msg, icon: 'none' });
|
|
|
+ });
|
|
|
+
|
|
|
$Http.getClass('prodclass1').then(res => {
|
|
|
- uFormRef.value.setRules(rules);
|
|
|
class1.value = res.data;
|
|
|
if (res.code !== 1) return uni.showToast({ title: res.msg, icon: 'none' });
|
|
|
});
|
|
|
+
|
|
|
+ $Http.getClass('faulttype').then(res => {
|
|
|
+ class2.value = res.data;
|
|
|
+ uFormRef.value.setRules(rules);
|
|
|
+ if (res.code !== 1) return uni.showToast({ title: res.msg, icon: 'none' });
|
|
|
+ });
|
|
|
});
|
|
|
|
|
|
let detail = reactive({});
|
|
@@ -185,6 +215,9 @@ function save() {
|
|
|
sa_serviceorderid: detail.sa_serviceorderid,
|
|
|
...form
|
|
|
};
|
|
|
+ content.customername = content.customername || content.contact;
|
|
|
+ content.customerphonenumber = content.customerphonenumber || content.phonenumber;
|
|
|
+ content.sa_customersid = content.sa_customersid || 0;
|
|
|
loading.value = true;
|
|
|
$Http.basic({
|
|
|
"id": "20230208140003",
|
|
@@ -210,6 +243,7 @@ function getDetail() {
|
|
|
console.log("工单详情", res)
|
|
|
if (res.code !== 1) return uni.showToast({ title: res.msg, icon: 'none' });
|
|
|
detail = reactive(res.data);
|
|
|
+ rules.class2[0].required = detail.type == '维修'
|
|
|
for (const key in form) {
|
|
|
if (detail[key] !== undefined) {
|
|
|
form[key] = detail[key];
|
|
@@ -229,7 +263,7 @@ let querySku = ref(true); // SKU是否正确
|
|
|
|
|
|
function skuConfirm() {
|
|
|
if (form.sku) {
|
|
|
- ['contact', 'serviceenterprisename', 'cardno', 'itemid', 'itemname', 'itemno', 'model', 'phonenumber', 'unitname', 'spec'].forEach(key => {
|
|
|
+ ['contact', 'serviceenterprisename', "customername", 'customerphonenumber', 'sa_customersid', 'cardno', 'itemid', 'itemname', 'itemno', 'model', 'phonenumber', 'unitname', 'spec'].forEach(key => {
|
|
|
form[key] = '';
|
|
|
});
|
|
|
$Http.basic({
|
|
@@ -252,7 +286,7 @@ function skuConfirm() {
|
|
|
querySku.value = true;
|
|
|
res.data[0].contact = res.data[0].name;
|
|
|
res.data[0].serviceenterprisename = res.data[0].serviceenterprisename || res.data[0].enterprisename;
|
|
|
- ['contact', 'phonenumber', 'serviceenterprisename', 'cardno', 'itemid', 'itemname', 'itemno', 'model', 'unitname', 'spec'].forEach(key => {
|
|
|
+ ['contact', "customername", 'customerphonenumber', 'sa_customersid', 'phonenumber', 'serviceenterprisename', 'cardno', 'itemid', 'itemname', 'itemno', 'model', 'unitname', 'spec'].forEach(key => {
|
|
|
form[key] = res.data[0][key] || '';
|
|
|
});
|
|
|
uni.showToast({ title: '已填充表单', icon: 'none' });
|
|
@@ -283,7 +317,7 @@ function changeItem(item) {
|
|
|
|
|
|
function handle() {
|
|
|
item.serviceenterprisename = item.serviceenterprisename || item.enterprisename;
|
|
|
- ['contact', 'serviceenterprisename', 'sku', 'cardno', 'itemid', 'itemname', 'itemno', 'model', 'phonenumber', 'unitname', 'spec'].forEach(key => {
|
|
|
+ ['contact', 'serviceenterprisename', "customername", 'customerphonenumber', 'sa_customersid', 'sku', 'cardno', 'itemid', 'itemname', 'itemno', 'model', 'phonenumber', 'unitname', 'spec'].forEach(key => {
|
|
|
form[key] = item[key] || '';
|
|
|
});
|
|
|
uni.showToast({ title: '已填充表单', icon: 'none' });
|